home *** CD-ROM | disk | FTP | other *** search
open in:
MacOS 8.1
|
Win98
|
DOS
view JSON data
|
view as text
This file was processed as: Tape Archive
(archive/tar).
You can browse this item here: JavaIDL-EA-solaris-sparc.tar
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| Tape Archive (archive/tar)
| magic
| Supported |
100%
| file
| POSIX tar archive
| default
| |
99%
| file
| POSIX tar archive, directory JavaIDL/, mode 0040775, uid 0071042, gid 0000012, size 00000000000, seconds 06336105261, user rohitg, group staff, devmaj 0000242, devmin 0153300
| default
| |
98%
| file
| data
| default
| |
62%
| TrID
| TAR - Tape ARchive (POSIX)
| default
| |
37%
| TrID
| TAR - Tape ARchive (directory)
| default
| |
100%
| siegfried
| x-fmt/265 Tape Archive Format
| default
| |
100%
| lsar
| Tar
| default
| |
100%
| gt2
| TAR Archiv gefunden (Auflistung ist deaktiviert)
| default
| |
100%
| disktype
| POSIX tar archive
| default
| |
100%
| detectItEasy
| Archive: tar
| default
| |
100%
| binwalkID
| POSIX tar archive
| default
| |
100%
| xdgMime
| application/x-tar
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 4a 61 76 61 49 44 4c 2f | 00 00 00 00 00 00 00 00 |JavaIDL/|........|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000050| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000060| 00 00 00 00 30 30 34 30 | 37 37 35 00 30 30 37 31 |....0040|775.0071|
|00000070| 30 34 32 00 30 30 30 30 | 30 31 32 00 30 30 30 30 |042.0000|012.0000|
|00000080| 30 30 30 30 30 30 30 00 | 30 36 33 33 36 31 30 35 |0000000.|06336105|
|00000090| 32 36 31 00 30 30 31 32 | 37 37 34 00 35 00 00 00 |261.0012|774.5...|
|000000a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000100| 00 75 73 74 61 72 00 30 | 30 72 6f 68 69 74 67 00 |.ustar.0|0rohitg.|
|00000110| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000120| 00 00 00 00 00 00 00 00 | 00 73 74 61 66 66 00 00 |........|.staff..|
|00000130| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000140| 00 00 00 00 00 00 00 00 | 00 30 30 30 30 32 34 32 |........|.0000242|
|00000150| 00 30 31 35 33 33 30 30 | 00 00 00 00 00 00 00 00 |.0153300|........|
|00000160| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000170| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000180| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000190| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000200| 4a 61 76 61 49 44 4c 2f | 64 6f 63 73 2f 00 00 00 |JavaIDL/|docs/...|
|00000210| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000220| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000230| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000240| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000250| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000260| 00 00 00 00 30 30 34 30 | 37 37 35 00 30 30 37 31 |....0040|775.0071|
|00000270| 30 34 32 00 30 30 30 30 | 30 31 32 00 30 30 30 30 |042.0000|012.0000|
|00000280| 30 30 30 30 30 30 30 00 | 30 36 33 32 34 36 35 37 |0000000.|06324657|
|00000290| 35 32 36 00 30 30 31 33 | 37 34 31 00 35 00 00 00 |526.0013|741.5...|
|000002a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000300| 00 75 73 74 61 72 00 30 | 30 72 6f 68 69 74 67 00 |.ustar.0|0rohitg.|
|00000310| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000320| 00 00 00 00 00 00 00 00 | 00 73 74 61 66 66 00 00 |........|.staff..|
|00000330| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000340| 00 00 00 00 00 00 00 00 | 00 30 30 30 30 32 34 32 |........|.0000242|
|00000350| 00 30 31 35 33 33 30 30 | 00 00 00 00 00 00 00 00 |.0153300|........|
|00000360| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000370| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000380| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000390| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000400| 4a 61 76 61 49 44 4c 2f | 64 6f 63 73 2f 43 4f 52 |JavaIDL/|docs/COR|
|00000410| 42 41 4a 61 76 61 2e 68 | 74 6d 6c 00 00 00 00 00 |BAJava.h|tml.....|
|00000420| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000430| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000440| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000450| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000460| 00 00 00 00 30 31 30 30 | 34 34 34 00 30 30 37 31 |....0100|444.0071|
|00000470| 30 34 32 00 30 30 30 30 | 30 31 32 00 30 30 30 30 |042.0000|012.0000|
|00000480| 30 30 35 37 34 33 31 00 | 30 36 33 31 36 35 35 30 |0057431.|06316550|
|00000490| 30 31 36 00 30 30 31 36 | 32 34 35 00 30 00 00 00 |016.0016|245.0...|
|000004a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000004b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000004c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000004d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000004e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000004f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000500| 00 75 73 74 61 72 00 30 | 30 72 6f 68 69 74 67 00 |.ustar.0|0rohitg.|
|00000510| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000520| 00 00 00 00 00 00 00 00 | 00 73 74 61 66 66 00 00 |........|.staff..|
|00000530| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000540| 00 00 00 00 00 00 00 00 | 00 30 30 30 30 32 34 32 |........|.0000242|
|00000550| 00 30 31 35 33 33 30 30 | 00 00 00 00 00 00 00 00 |.0153300|........|
|00000560| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000570| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000580| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000590| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000600| 3c 21 2d 2d 54 68 69 73 | 20 66 69 6c 65 20 63 72 |<!--This| file cr|
|00000610| 65 61 74 65 64 20 32 2f | 32 36 2f 39 37 20 31 34 |eated 2/|26/97 14|
|00000620| 3a 32 37 20 62 79 20 43 | 6c 61 72 69 73 20 48 6f |:27 by C|laris Ho|
|00000630| 6d 65 20 50 61 67 65 20 | 76 65 72 73 69 6f 6e 20 |me Page |version |
|00000640| 32 2e 30 2d 2d 3e 0a 3c | 48 54 4d 4c 3e 0a 3c 48 |2.0-->.<|HTML>.<H|
|00000650| 45 41 44 3e 0a 20 20 20 | 3c 54 49 54 4c 45 3e 43 |EAD>. |<TITLE>C|
|00000660| 4f 52 42 41 20 66 6f 72 | 20 4a 61 76 61 20 50 72 |ORBA for| Java Pr|
|00000670| 6f 67 72 61 6d 6d 65 72 | 73 3c 2f 54 49 54 4c 45 |ogrammer|s</TITLE|
|00000680| 3e 0a 20 20 20 3c 4d 45 | 54 41 20 4e 41 4d 45 3d |>. <ME|TA NAME=|
|00000690| 47 45 4e 45 52 41 54 4f | 52 20 43 4f 4e 54 45 4e |GENERATO|R CONTEN|
|000006a0| 54 3d 22 43 6c 61 72 69 | 73 20 48 6f 6d 65 20 50 |T="Clari|s Home P|
|000006b0| 61 67 65 20 32 2e 30 22 | 3e 0a 20 20 20 3c 58 2d |age 2.0"|>. <X-|
|000006c0| 53 41 53 2d 57 49 4e 44 | 4f 57 20 54 4f 50 3d 34 |SAS-WIND|OW TOP=4|
|000006d0| 32 20 42 4f 54 54 4f 4d | 3d 34 37 37 20 4c 45 46 |2 BOTTOM|=477 LEF|
|000006e0| 54 3d 34 20 52 49 47 48 | 54 3d 35 33 34 3e 0a 3c |T=4 RIGH|T=534>.<|
|000006f0| 2f 48 45 41 44 3e 0a 3c | 42 4f 44 59 20 42 47 43 |/HEAD>.<|BODY BGC|
|00000700| 4f 4c 4f 52 3d 22 23 45 | 45 45 45 46 46 22 3e 0a |OLOR="#E|EEEFF">.|
|00000710| 0a 3c 48 31 20 41 4c 49 | 47 4e 3d 43 45 4e 54 45 |.<H1 ALI|GN=CENTE|
|00000720| 52 3e 43 4f 52 42 41 20 | 66 6f 72 20 4a 61 76 61 |R>CORBA |for Java|
|00000730| 20 50 72 6f 67 72 61 6d | 6d 65 72 73 3c 2f 48 31 | Program|mers</H1|
|00000740| 3e 0a 0a 3c 48 32 3e 50 | 72 69 6e 63 69 70 61 6c |>..<H2>P|rincipal|
|00000750| 20 45 6c 65 6d 65 6e 74 | 73 20 6f 66 20 74 68 65 | Element|s of the|
|00000760| 20 43 4f 52 42 41 20 41 | 72 63 68 69 74 65 63 74 | CORBA A|rchitect|
|00000770| 75 72 65 3c 2f 48 32 3e | 0a 0a 3c 50 3e 54 68 65 |ure</H2>|..<P>The|
|00000780| 20 43 4f 52 42 41 20 32 | 2e 30 20 73 70 65 63 69 | CORBA 2|.0 speci|
|00000790| 66 69 63 61 74 69 6f 6e | 20 69 73 20 61 20 66 65 |fication| is a fe|
|000007a0| 77 20 68 75 6e 64 72 65 | 64 20 70 61 67 65 73 20 |w hundre|d pages |
|000007b0| 6c 6f 6e 67 3b 20 69 74 | 20 69 73 20 66 61 72 0a |long; it| is far.|
|000007c0| 6d 6f 72 65 20 65 78 74 | 65 6e 73 69 76 65 20 74 |more ext|ensive t|
|000007d0| 68 61 6e 20 63 61 6e 20 | 62 65 20 73 75 6d 6d 61 |han can |be summa|
|000007e0| 72 69 7a 65 64 20 68 65 | 72 65 2e 20 54 68 69 73 |rized he|re. This|
|000007f0| 20 73 65 63 74 69 6f 6e | 20 64 65 73 63 72 69 62 | section| describ|
|00000800| 65 73 0a 74 68 65 20 3c | 49 3e 6d 61 6a 6f 72 3c |es.the <|I>major<|
|00000810| 2f 49 3e 20 61 72 63 68 | 69 74 65 63 74 75 72 61 |/I> arch|itectura|
|00000820| 6c 20 65 6c 65 6d 65 6e | 74 73 3a 20 74 68 6f 73 |l elemen|ts: thos|
|00000830| 65 20 74 68 61 74 20 6d | 61 6b 65 20 72 65 6d 6f |e that m|ake remo|
|00000840| 74 65 0a 69 6e 76 6f 63 | 61 74 69 6f 6e 20 6f 66 |te.invoc|ation of|
|00000850| 20 43 4f 52 42 41 20 6f | 62 6a 65 63 74 73 20 70 | CORBA o|bjects p|
|00000860| 6f 73 73 69 62 6c 65 20 | 61 6e 64 20 61 72 65 20 |ossible |and are |
|00000870| 65 73 73 65 6e 74 69 61 | 6c 20 74 6f 0a 75 6e 64 |essentia|l to.und|
|00000880| 65 72 73 74 61 6e 64 69 | 6e 67 20 74 68 65 20 63 |erstandi|ng the c|
|00000890| 6f 6e 74 65 78 74 20 6f | 66 20 74 68 65 20 4a 61 |ontext o|f the Ja|
|000008a0| 76 61 20 49 44 4c 20 70 | 72 6f 64 75 63 74 2e 3c |va IDL p|roduct.<|
|000008b0| 2f 50 3e 0a 0a 3c 48 33 | 3e 43 4f 52 42 41 20 41 |/P>..<H3|>CORBA A|
|000008c0| 70 70 6c 69 63 61 74 69 | 6f 6e 20 52 6f 6c 65 73 |pplicati|on Roles|
|000008d0| 3c 2f 48 33 3e 0a 0a 3c | 50 3e 41 6e 20 3c 49 3e |</H3>..<|P>An <I>|
|000008e0| 6f 62 6a 65 63 74 20 72 | 65 66 65 72 65 6e 63 65 |object r|eference|
|000008f0| 3c 2f 49 3e 20 69 73 20 | 61 20 68 61 6e 64 6c 65 |</I> is |a handle|
|00000900| 20 74 6f 20 61 20 43 4f | 52 42 41 20 6f 62 6a 65 | to a CO|RBA obje|
|00000910| 63 74 0a 69 6d 70 6c 65 | 6d 65 6e 74 65 64 20 73 |ct.imple|mented s|
|00000920| 6f 6d 65 77 68 65 72 65 | 20 6f 6e 20 74 68 65 20 |omewhere| on the |
|00000930| 6e 65 74 77 6f 72 6b 2e | 20 41 20 43 4f 52 42 41 |network.| A CORBA|
|00000940| 20 3c 49 3e 63 6c 69 65 | 6e 74 3c 2f 49 3e 20 69 | <I>clie|nt</I> i|
|00000950| 73 20 61 0a 70 72 6f 67 | 72 61 6d 20 74 68 61 74 |s a.prog|ram that|
|00000960| 20 69 6e 76 6f 6b 65 73 | 20 6f 6e 20 61 6e 20 6f | invokes| on an o|
|00000970| 62 6a 65 63 74 20 72 65 | 66 65 72 65 6e 63 65 2e |bject re|ference.|
|00000980| 20 41 20 43 4f 52 42 41 | 20 3c 49 3e 73 65 72 76 | A CORBA| <I>serv|
|00000990| 65 72 3c 2f 49 3e 0a 69 | 6d 70 6c 65 6d 65 6e 74 |er</I>.i|mplement|
|000009a0| 73 20 74 68 65 20 6f 62 | 6a 65 63 74 20 74 68 61 |s the ob|ject tha|
|000009b0| 74 20 61 6e 20 6f 62 6a | 65 63 74 20 72 65 66 65 |t an obj|ect refe|
|000009c0| 72 65 6e 63 65 20 64 65 | 6e 6f 74 65 73 2e 20 43 |rence de|notes. C|
|000009d0| 6c 69 65 6e 74 20 61 6e | 64 0a 73 65 72 76 65 72 |lient an|d.server|
|000009e0| 20 61 72 65 20 72 6f 6c | 65 73 20 74 68 61 74 20 | are rol|es that |
|000009f0| 43 4f 52 42 41 20 61 70 | 70 6c 69 63 61 74 69 6f |CORBA ap|plicatio|
|00000a00| 6e 73 20 70 6c 61 79 20 | 64 75 72 69 6e 67 20 74 |ns play |during t|
|00000a10| 68 65 69 72 20 6c 69 66 | 65 74 69 6d 65 73 2e 0a |heir lif|etimes..|
|00000a20| 41 6e 20 61 70 70 6c 69 | 63 61 74 69 6f 6e 20 63 |An appli|cation c|
|00000a30| 61 6e 20 62 65 20 61 20 | 63 6c 69 65 6e 74 20 61 |an be a |client a|
|00000a40| 6e 64 20 61 20 73 65 72 | 76 65 72 20 61 74 20 74 |nd a ser|ver at t|
|00000a50| 68 65 20 73 61 6d 65 20 | 74 69 6d 65 2e 20 3c 2f |he same |time. </|
|00000a60| 50 3e 0a 0a 3c 50 3e 41 | 6c 74 68 6f 75 67 68 20 |P>..<P>A|lthough |
|00000a70| 22 70 75 72 65 22 20 63 | 6c 69 65 6e 74 73 20 61 |"pure" c|lients a|
|00000a80| 72 65 20 63 6f 6d 6d 6f | 6e 2c 20 69 74 27 73 20 |re commo|n, it's |
|00000a90| 6f 66 74 65 6e 20 74 68 | 65 20 63 61 73 65 20 74 |often th|e case t|
|00000aa0| 68 61 74 20 61 6e 0a 61 | 70 70 6c 69 63 61 74 69 |hat an.a|pplicati|
|00000ab0| 6f 6e 20 74 68 61 74 20 | 69 73 20 70 72 65 64 6f |on that |is predo|
|00000ac0| 6d 69 6e 61 6e 74 6c 79 | 20 61 20 63 6c 69 65 6e |minantly| a clien|
|00000ad0| 74 20 61 6c 73 6f 20 6e | 65 65 64 73 20 74 6f 20 |t also n|eeds to |
|00000ae0| 73 65 72 76 65 20 61 6e | 0a 6f 62 6a 65 63 74 2e |serve an|.object.|
|00000af0| 20 46 6f 72 20 65 78 61 | 6d 70 6c 65 2c 20 73 75 | For exa|mple, su|
|00000b00| 70 70 6f 73 65 20 61 20 | 43 4f 52 42 41 20 73 74 |ppose a |CORBA st|
|00000b10| 6f 63 6b 2d 77 61 74 63 | 68 65 72 20 6f 62 6a 65 |ock-watc|her obje|
|00000b20| 63 74 20 61 63 63 65 70 | 74 73 0a 72 65 67 69 73 |ct accep|ts.regis|
|00000b30| 74 72 61 74 69 6f 6e 73 | 20 74 6f 20 6e 6f 74 69 |trations| to noti|
|00000b40| 66 79 20 63 6c 69 65 6e | 74 73 20 77 68 65 6e 20 |fy clien|ts when |
|00000b50| 61 20 70 72 69 63 65 20 | 63 72 6f 73 73 65 73 20 |a price |crosses |
|00000b60| 61 20 74 68 72 65 73 68 | 6f 6c 64 2e 20 54 68 65 |a thresh|old. The|
|00000b70| 0a 63 6c 69 65 6e 74 20 | 74 68 61 74 20 77 69 73 |.client |that wis|
|00000b80| 68 65 73 20 74 6f 20 62 | 65 20 6e 6f 74 69 66 69 |hes to b|e notifi|
|00000b90| 65 64 20 70 61 73 73 65 | 73 20 61 6e 20 61 6c 65 |ed passe|s an ale|
|00000ba0| 72 74 20 6f 62 6a 65 63 | 74 20 61 73 20 61 0a 70 |rt objec|t as a.p|
|00000bb0| 61 72 61 6d 65 74 65 72 | 20 74 6f 20 74 68 65 20 |arameter| to the |
|00000bc0| 73 74 6f 63 6b 2d 77 61 | 74 63 68 65 72 20 72 65 |stock-wa|tcher re|
|00000bd0| 67 69 73 74 72 61 74 69 | 6f 6e 20 6f 70 65 72 61 |gistrati|on opera|
|00000be0| 74 69 6f 6e 2e 20 54 68 | 65 0a 73 74 6f 63 6b 2d |tion. Th|e.stock-|
|00000bf0| 77 61 74 63 68 65 72 20 | 69 6e 76 6f 6b 65 73 20 |watcher |invokes |
|00000c00| 74 68 65 20 61 6c 65 72 | 74 20 6f 62 6a 65 63 74 |the aler|t object|
|00000c10| 20 77 68 65 6e 20 74 68 | 65 20 70 72 69 63 65 20 | when th|e price |
|00000c20| 70 61 73 73 65 73 20 74 | 68 65 0a 74 68 72 65 73 |passes t|he.thres|
|00000c30| 68 6f 6c 64 2e 20 49 6e | 20 74 68 69 73 20 63 61 |hold. In| this ca|
|00000c40| 73 65 2c 20 74 68 65 20 | 72 65 67 69 73 74 65 72 |se, the |register|
|00000c50| 69 6e 67 20 63 6c 69 65 | 6e 74 20 69 73 20 74 68 |ing clie|nt is th|
|00000c60| 65 20 61 6c 65 72 74 20 | 6f 62 6a 65 63 74 27 73 |e alert |object's|
|00000c70| 0a 73 65 72 76 65 72 3b | 20 69 74 20 69 6d 70 6c |.server;| it impl|
|00000c80| 65 6d 65 6e 74 73 20 74 | 68 65 20 61 6c 65 72 74 |ements t|he alert|
|00000c90| 20 6f 62 6a 65 63 74 2e | 3c 2f 50 3e 0a 0a 3c 48 | object.|</P>..<H|
|00000ca0| 33 3e 4f 52 42 73 20 61 | 6e 64 20 49 6e 76 6f 63 |3>ORBs a|nd Invoc|
|00000cb0| 61 74 69 6f 6e 73 3c 2f | 48 33 3e 0a 0a 3c 50 3e |ations</|H3>..<P>|
|00000cc0| 46 6f 72 20 61 20 63 6c | 69 65 6e 74 20 74 6f 20 |For a cl|ient to |
|00000cd0| 69 6e 76 6f 6b 65 20 61 | 20 43 4f 52 42 41 20 6f |invoke a| CORBA o|
|00000ce0| 62 6a 65 63 74 20 6f 70 | 65 72 61 74 69 6f 6e 2c |bject op|eration,|
|00000cf0| 20 62 6f 74 68 20 74 68 | 65 20 63 6c 69 65 6e 74 | both th|e client|
|00000d00| 0a 61 6e 64 20 74 68 65 | 20 73 65 72 76 65 72 20 |.and the| server |
|00000d10| 28 74 68 65 20 6f 62 6a | 65 63 74 20 69 6d 70 6c |(the obj|ect impl|
|00000d20| 65 6d 65 6e 74 61 74 69 | 6f 6e 29 20 6d 75 73 74 |ementati|on) must|
|00000d30| 20 75 73 65 20 61 20 43 | 4f 52 42 41 20 73 6f 66 | use a C|ORBA sof|
|00000d40| 74 77 61 72 65 0a 63 6f | 6d 70 6f 6e 65 6e 74 20 |tware.co|mponent |
|00000d50| 63 61 6c 6c 65 64 20 61 | 6e 20 4f 52 42 20 28 6f |called a|n ORB (o|
|00000d60| 62 6a 65 63 74 20 72 65 | 71 75 65 73 74 20 62 72 |bject re|quest br|
|00000d70| 6f 6b 65 72 29 2e 20 4f | 52 42 73 20 61 72 65 20 |oker). O|RBs are |
|00000d80| 74 68 65 20 63 6f 6d 6d | 6f 6e 0a 64 65 6e 6f 6d |the comm|on.denom|
|00000d90| 69 6e 61 74 6f 72 73 20 | 74 68 61 74 20 62 72 69 |inators |that bri|
|00000da0| 64 67 65 20 74 68 65 20 | 64 69 66 66 65 72 65 6e |dge the |differen|
|00000db0| 63 65 73 20 69 6e 20 6c | 6f 63 61 74 69 6f 6e 2c |ces in l|ocation,|
|00000dc0| 20 70 6c 61 74 66 6f 72 | 6d 2c 20 61 6e 64 0a 70 | platfor|m, and.p|
|00000dd0| 72 6f 67 72 61 6d 6d 69 | 6e 67 20 6c 61 6e 67 75 |rogrammi|ng langu|
|00000de0| 61 67 65 20 74 68 61 74 | 20 63 61 6e 20 73 65 70 |age that| can sep|
|00000df0| 61 72 61 74 65 20 61 20 | 63 6c 69 65 6e 74 20 61 |arate a |client a|
|00000e00| 6e 64 20 61 20 73 65 72 | 76 65 72 2e 20 4f 52 42 |nd a ser|ver. ORB|
|00000e10| 73 0a 63 61 6e 20 63 6f | 6e 74 61 63 74 20 65 61 |s.can co|ntact ea|
|00000e20| 63 68 20 6f 74 68 65 72 | 20 61 63 72 6f 73 73 20 |ch other| across |
|00000e30| 74 68 65 20 6e 65 74 77 | 6f 72 6b 2c 20 63 61 6e |the netw|ork, can|
|00000e40| 20 63 72 65 61 74 65 20 | 61 6e 64 20 69 6e 74 65 | create |and inte|
|00000e50| 72 70 72 65 74 0a 6f 62 | 6a 65 63 74 20 72 65 66 |rpret.ob|ject ref|
|00000e60| 65 72 65 6e 63 65 73 20 | 28 43 4f 52 42 41 20 6f |erences |(CORBA o|
|00000e70| 62 6a 65 63 74 20 68 61 | 6e 64 6c 65 73 29 2c 20 |bject ha|ndles), |
|00000e80| 61 6e 64 20 63 61 6e 20 | 6d 61 72 73 68 61 6c 20 |and can |marshal |
|00000e90| 70 61 72 61 6d 65 74 65 | 72 73 0a 69 6e 74 6f 20 |paramete|rs.into |
|00000ea0| 61 6e 64 20 6f 75 74 20 | 6f 66 20 74 68 65 20 66 |and out |of the f|
|00000eb0| 6f 72 6d 61 74 20 75 73 | 65 64 20 62 79 20 49 49 |ormat us|ed by II|
|00000ec0| 4f 50 2e 20 49 6e 20 61 | 64 64 69 74 69 6f 6e 20 |OP. In a|ddition |
|00000ed0| 74 6f 20 65 6e 61 62 6c | 69 6e 67 0a 63 6c 69 65 |to enabl|ing.clie|
|00000ee0| 6e 74 2f 73 65 72 76 65 | 72 20 63 6f 6d 6d 75 6e |nt/serve|r commun|
|00000ef0| 69 63 61 74 69 6f 6e 2c | 20 4f 52 42 73 20 70 72 |ication,| ORBs pr|
|00000f00| 6f 76 69 64 65 20 6f 74 | 68 65 72 20 73 65 72 76 |ovide ot|her serv|
|00000f10| 69 63 65 73 2c 20 62 75 | 74 20 74 68 65 79 0a 61 |ices, bu|t they.a|
|00000f20| 72 65 20 6e 6f 74 20 64 | 65 73 63 72 69 62 65 64 |re not d|escribed|
|00000f30| 20 68 65 72 65 2e 3c 2f | 50 3e 0a 0a 3c 50 3e 54 | here.</|P>..<P>T|
|00000f40| 68 65 72 65 20 61 72 65 | 20 74 77 6f 20 77 61 79 |here are| two way|
|00000f50| 73 20 74 6f 20 69 6e 76 | 6f 6b 65 20 61 6e 20 6f |s to inv|oke an o|
|00000f60| 70 65 72 61 74 69 6f 6e | 20 6f 6e 20 61 20 43 4f |peration| on a CO|
|00000f70| 52 42 41 20 6f 62 6a 65 | 63 74 2e 20 3c 2f 50 3e |RBA obje|ct. </P>|
|00000f80| 0a 0a 3c 4f 4c 3e 0a 20 | 20 20 3c 4c 49 3e 53 74 |..<OL>. | <LI>St|
|00000f90| 61 74 69 63 20 69 6e 76 | 6f 63 61 74 69 6f 6e 2c |atic inv|ocation,|
|00000fa0| 20 77 68 69 63 68 20 69 | 73 20 75 73 65 64 20 6d | which i|s used m|
|00000fb0| 6f 73 74 20 6f 66 74 65 | 6e 20 61 6e 64 20 6d 6f |ost ofte|n and mo|
|00000fc0| 73 74 20 72 65 73 65 6d | 62 6c 65 73 0a 20 20 20 |st resem|bles. |
|00000fd0| 63 6f 6e 76 65 6e 74 69 | 6f 6e 61 6c 20 4a 61 76 |conventi|onal Jav|
|00000fe0| 61 20 70 72 6f 67 72 61 | 6d 6d 69 6e 67 2c 20 69 |a progra|mming, i|
|00000ff0| 73 20 74 79 70 65 2d 63 | 68 65 63 6b 65 64 20 62 |s type-c|hecked b|
|00001000| 79 20 74 68 65 20 63 6f | 6d 70 69 6c 65 72 2e 0a |y the co|mpiler..|
|00001010| 20 20 20 42 75 74 20 69 | 74 20 63 61 6e 20 6f 6e | But i|t can on|
|00001020| 6c 79 20 62 65 20 75 73 | 65 64 20 66 6f 72 20 6f |ly be us|ed for o|
|00001030| 62 6a 65 63 74 73 20 77 | 68 6f 73 65 20 69 6e 74 |bjects w|hose int|
|00001040| 65 72 66 61 63 65 20 64 | 65 66 69 6e 69 74 69 6f |erface d|efinitio|
|00001050| 6e 73 0a 20 20 20 65 78 | 69 73 74 65 64 20 77 68 |ns. ex|isted wh|
|00001060| 65 6e 20 74 68 65 20 69 | 6e 76 6f 6b 69 6e 67 20 |en the i|nvoking |
|00001070| 63 6c 69 65 6e 74 20 77 | 61 73 20 63 6f 6d 70 69 |client w|as compi|
|00001080| 6c 65 64 2e 20 0a 20 20 | 20 0a 20 20 20 3c 4c 49 |led. . | . <LI|
|00001090| 3e 3c 41 20 48 52 45 46 | 3d 22 23 44 79 6e 61 6d |><A HREF|="#Dynam|
|000010a0| 69 63 49 6e 76 6f 63 61 | 74 69 6f 6e 22 3e 44 79 |icInvoca|tion">Dy|
|000010b0| 6e 61 6d 69 63 20 69 6e | 76 6f 63 61 74 69 6f 6e |namic in|vocation|
|000010c0| 3c 2f 41 3e 20 69 73 20 | 6d 6f 72 65 0a 20 20 20 |</A> is |more. |
|000010d0| 66 6c 65 78 69 62 6c 65 | 20 62 65 63 61 75 73 65 |flexible| because|
|000010e0| 20 63 6c 69 65 6e 74 73 | 20 63 61 6e 20 69 6e 76 | clients| can inv|
|000010f0| 6f 6b 65 20 6f 62 6a 65 | 63 74 73 20 74 68 65 79 |oke obje|cts they|
|00001100| 20 64 69 73 63 6f 76 65 | 72 20 61 74 0a 20 20 20 | discove|r at. |
|00001110| 72 75 6e 2d 74 69 6d 65 | 2e 20 48 6f 77 65 76 65 |run-time|. Howeve|
|00001120| 72 2c 20 63 6f 6d 70 69 | 6c 65 2d 74 69 6d 65 20 |r, compi|le-time |
|00001130| 74 79 70 65 2d 63 68 65 | 63 6b 69 6e 67 20 69 73 |type-che|cking is|
|00001140| 20 69 6d 70 6f 73 73 69 | 62 6c 65 20 77 69 74 68 | impossi|ble with|
|00001150| 0a 20 20 20 64 79 6e 61 | 6d 69 63 20 69 6e 76 6f |. dyna|mic invo|
|00001160| 63 61 74 69 6f 6e 2e 20 | 41 6c 74 68 6f 75 67 68 |cation. |Although|
|00001170| 20 69 74 27 73 20 70 6f | 73 73 69 62 6c 65 20 74 | it's po|ssible t|
|00001180| 6f 20 74 79 70 65 2d 63 | 68 65 63 6b 0a 20 20 20 |o type-c|heck. |
|00001190| 70 61 72 61 6d 65 74 65 | 72 73 20 61 74 20 72 75 |paramete|rs at ru|
|000011a0| 6e 2d 74 69 6d 65 2c 20 | 64 6f 69 6e 67 20 73 6f |n-time, |doing so|
|000011b0| 20 72 65 71 75 69 72 65 | 73 20 61 20 43 4f 52 42 | require|s a CORB|
|000011c0| 41 20 49 6e 74 65 72 66 | 61 63 65 0a 20 20 20 52 |A Interf|ace. R|
|000011d0| 65 70 6f 73 69 74 6f 72 | 79 2c 20 77 68 69 63 68 |epositor|y, which|
|000011e0| 20 74 68 65 20 63 75 72 | 72 65 6e 74 20 72 65 6c | the cur|rent rel|
|000011f0| 65 61 73 65 20 6f 66 20 | 4a 61 76 61 20 49 44 4c |ease of |Java IDL|
|00001200| 20 64 6f 65 73 20 6e 6f | 74 0a 20 20 20 70 72 6f | does no|t. pro|
|00001210| 76 69 64 65 2e 20 0a 3c | 2f 4f 4c 3e 0a 0a 3c 48 |vide. .<|/OL>..<H|
|00001220| 34 3e 53 74 61 74 69 63 | 20 49 6e 76 6f 63 61 74 |4>Static| Invocat|
|00001230| 69 6f 6e 3c 2f 48 34 3e | 0a 0a 3c 50 3e 54 6f 20 |ion</H4>|..<P>To |
|00001240| 73 74 61 74 69 63 61 6c | 6c 79 20 69 6e 76 6f 6b |statical|ly invok|
|00001250| 65 20 61 6e 20 6f 70 65 | 72 61 74 69 6f 6e 20 6f |e an ope|ration o|
|00001260| 6e 20 61 20 43 4f 52 42 | 41 20 6f 62 6a 65 63 74 |n a CORB|A object|
|00001270| 2c 20 61 20 4a 61 76 61 | 20 63 6c 69 65 6e 74 0a |, a Java| client.|
|00001280| 6e 65 65 64 73 20 74 77 | 6f 20 74 68 69 6e 67 73 |needs tw|o things|
|00001290| 3a 3c 2f 50 3e 0a 0a 3c | 55 4c 3e 0a 20 20 20 3c |:</P>..<|UL>. <|
|000012a0| 4c 49 3e 41 6e 20 6f 62 | 6a 65 63 74 20 72 65 66 |LI>An ob|ject ref|
|000012b0| 65 72 65 6e 63 65 2c 20 | 61 6e 20 6f 70 61 71 75 |erence, |an opaqu|
|000012c0| 65 20 68 61 6e 64 6c 65 | 20 74 68 61 74 20 69 64 |e handle| that id|
|000012d0| 65 6e 74 69 66 69 65 73 | 20 74 68 65 0a 20 20 20 |entifies| the. |
|000012e0| 70 61 72 74 69 63 75 6c | 61 72 20 43 4f 52 42 41 |particul|ar CORBA|
|000012f0| 20 6f 62 6a 65 63 74 20 | 74 6f 20 62 65 20 69 6e | object |to be in|
|00001300| 76 6f 6b 65 64 3b 20 63 | 6c 69 65 6e 74 73 20 64 |voked; c|lients d|
|00001310| 6f 6e 27 74 20 63 72 65 | 61 74 65 20 6f 62 6a 65 |on't cre|ate obje|
|00001320| 63 74 0a 20 20 20 72 65 | 66 65 72 65 6e 63 65 73 |ct. re|ferences|
|00001330| 20 62 75 74 20 3c 41 20 | 48 52 45 46 3d 22 23 4f | but <A |HREF="#O|
|00001340| 62 74 61 69 6e 69 6e 67 | 4f 62 6a 72 65 66 73 22 |btaining|Objrefs"|
|00001350| 3e 6f 62 74 61 69 6e 20 | 74 68 65 6d 3c 2f 41 3e |>obtain |them</A>|
|00001360| 2c 0a 20 20 20 74 79 70 | 69 63 61 6c 6c 79 20 66 |,. typ|ically f|
|00001370| 72 6f 6d 20 6f 74 68 65 | 72 20 6f 62 6a 65 63 74 |rom othe|r object|
|00001380| 73 2c 20 73 75 63 68 20 | 61 73 20 66 61 63 74 6f |s, such |as facto|
|00001390| 72 69 65 73 20 6f 72 20 | 61 20 6e 61 6d 69 6e 67 |ries or |a naming|
|000013a0| 0a 20 20 20 63 6f 6e 74 | 65 78 74 73 2e 0a 20 20 |. cont|exts.. |
|000013b0| 20 0a 20 20 20 3c 4c 49 | 3e 41 20 73 74 75 62 2c | . <LI|>A stub,|
|000013c0| 20 77 68 69 63 68 20 69 | 73 20 61 20 4a 61 76 61 | which i|s a Java|
|000013d0| 20 6f 62 6a 65 63 74 20 | 74 68 61 74 20 69 73 20 | object |that is |
|000013e0| 61 20 6c 6f 63 61 6c 20 | 70 72 6f 78 79 20 66 6f |a local |proxy fo|
|000013f0| 72 20 61 0a 20 20 20 74 | 79 70 65 20 6f 66 20 43 |r a. t|ype of C|
|00001400| 4f 52 42 41 20 6f 62 6a | 65 63 74 2e 0a 3c 2f 55 |ORBA obj|ect..</U|
|00001410| 4c 3e 0a 0a 3c 50 3e 4f | 66 20 74 68 65 73 65 2c |L>..<P>O|f these,|
|00001420| 20 74 68 65 20 63 6c 69 | 65 6e 74 20 64 65 76 65 | the cli|ent deve|
|00001430| 6c 6f 70 65 72 20 69 73 | 20 6f 6e 6c 79 20 69 6e |loper is| only in|
|00001440| 74 65 72 65 73 74 65 64 | 20 69 6e 20 74 68 65 20 |terested| in the |
|00001450| 6f 62 6a 65 63 74 0a 72 | 65 66 65 72 65 6e 63 65 |object.r|eference|
|00001460| 3b 20 74 68 65 20 73 74 | 75 62 20 63 6c 61 73 73 |; the st|ub class|
|00001470| 20 69 73 20 67 65 6e 65 | 72 61 74 65 64 20 61 75 | is gene|rated au|
|00001480| 74 6f 6d 61 74 69 63 61 | 6c 6c 79 20 61 6e 64 20 |tomatica|lly and |
|00001490| 69 74 73 0a 69 6e 73 74 | 61 6e 63 65 73 20 61 72 |its.inst|ances ar|
|000014a0| 65 20 63 72 65 61 74 65 | 64 20 61 6e 64 20 69 6e |e create|d and in|
|000014b0| 76 6f 6b 65 64 20 61 75 | 74 6f 6d 61 74 69 63 61 |voked au|tomatica|
|000014c0| 6c 6c 79 2e 3c 2f 50 3e | 0a 0a 3c 50 3e 4f 4d 47 |lly.</P>|..<P>OMG|
|000014d0| 20 49 44 4c 20 69 73 20 | 74 68 65 20 6c 61 6e 67 | IDL is |the lang|
|000014e0| 75 61 67 65 20 69 6e 20 | 77 68 69 63 68 20 43 4f |uage in |which CO|
|000014f0| 52 42 41 20 6f 62 6a 65 | 63 74 20 69 6e 74 65 72 |RBA obje|ct inter|
|00001500| 66 61 63 65 73 20 61 72 | 65 0a 64 65 66 69 6e 65 |faces ar|e.define|
|00001510| 64 2e 20 46 6f 72 20 65 | 61 63 68 20 4f 4d 47 20 |d. For e|ach OMG |
|00001520| 49 44 4c 20 6d 6f 64 75 | 6c 65 20 74 68 65 20 3c |IDL modu|le the <|
|00001530| 43 4f 44 45 3e 69 64 6c | 74 6f 6a 61 76 61 3c 2f |CODE>idl|tojava</|
|00001540| 43 4f 44 45 3e 20 63 6f | 6d 70 69 6c 65 72 0a 67 |CODE> co|mpiler.g|
|00001550| 65 6e 65 72 61 74 65 73 | 20 61 20 4a 61 76 61 20 |enerates| a Java |
|00001560| 70 61 63 6b 61 67 65 2e | 20 46 6f 72 20 65 61 63 |package.| For eac|
|00001570| 68 20 69 6e 74 65 72 66 | 61 63 65 20 3c 43 4f 44 |h interf|ace <COD|
|00001580| 45 3e 46 6f 6f 3c 2f 43 | 4f 44 45 3e 20 64 65 66 |E>Foo</C|ODE> def|
|00001590| 69 6e 65 64 0a 69 6e 20 | 61 6e 20 4f 4d 47 20 49 |ined.in |an OMG I|
|000015a0| 44 4c 20 6d 6f 64 75 6c | 65 2c 20 74 68 65 20 67 |DL modul|e, the g|
|000015b0| 65 6e 65 72 61 74 65 64 | 20 70 61 63 6b 61 67 65 |enerated| package|
|000015c0| 20 63 6f 6e 74 61 69 6e | 73 20 74 68 65 20 66 6f | contain|s the fo|
|000015d0| 6c 6c 6f 77 69 6e 67 0a | 69 74 65 6d 73 20 6f 66 |llowing.|items of|
|000015e0| 20 69 6e 74 65 72 65 73 | 74 20 74 6f 20 74 68 65 | interes|t to the|
|000015f0| 20 63 6c 69 65 6e 74 20 | 70 72 6f 67 72 61 6d 6d | client |programm|
|00001600| 65 72 3a 3c 2f 50 3e 0a | 0a 3c 55 4c 3e 0a 20 20 |er:</P>.|.<UL>. |
|00001610| 20 3c 4c 49 3e 41 20 4a | 61 76 61 20 69 6e 74 65 | <LI>A J|ava inte|
|00001620| 72 66 61 63 65 20 3c 43 | 4f 44 45 3e 46 6f 6f 3c |rface <C|ODE>Foo<|
|00001630| 2f 43 4f 44 45 3e 20 64 | 65 66 69 6e 69 6e 67 20 |/CODE> d|efining |
|00001640| 74 68 65 20 6d 65 74 68 | 6f 64 73 20 74 68 61 74 |the meth|ods that|
|00001650| 0a 20 20 20 63 6f 72 72 | 65 73 70 6f 6e 64 20 74 |. corr|espond t|
|00001660| 6f 20 74 68 65 20 4f 4d | 47 20 49 44 4c 20 6f 70 |o the OM|G IDL op|
|00001670| 65 72 61 74 69 6f 6e 73 | 3b 20 66 72 6f 6d 20 74 |erations|; from t|
|00001680| 68 65 20 64 65 76 65 6c | 6f 70 65 72 27 73 20 70 |he devel|oper's p|
|00001690| 6f 69 6e 74 0a 20 20 20 | 6f 66 20 76 69 65 77 2c |oint. |of view,|
|000016a0| 20 61 6e 20 6f 62 6a 65 | 63 74 20 72 65 66 65 72 | an obje|ct refer|
|000016b0| 65 6e 63 65 20 66 6f 72 | 20 61 20 43 4f 52 42 41 |ence for| a CORBA|
|000016c0| 20 3c 43 4f 44 45 3e 46 | 6f 6f 3c 2f 43 4f 44 45 | <CODE>F|oo</CODE|
|000016d0| 3e 20 6f 62 6a 65 63 74 | 0a 20 20 20 69 6d 70 6c |> object|. impl|
|000016e0| 65 6d 65 6e 74 73 20 74 | 68 69 73 20 69 6e 74 65 |ements t|his inte|
|000016f0| 72 66 61 63 65 2e 0a 20 | 20 20 0a 20 20 20 3c 4c |rface.. | . <L|
|00001700| 49 3e 41 20 4a 61 76 61 | 20 63 6c 61 73 73 20 3c |I>A Java| class <|
|00001710| 43 4f 44 45 3e 46 6f 6f | 48 65 6c 70 65 72 3c 2f |CODE>Foo|Helper</|
|00001720| 43 4f 44 45 3e 20 74 68 | 61 74 20 64 65 66 69 6e |CODE> th|at defin|
|00001730| 65 73 20 61 75 78 69 6c | 69 61 72 79 0a 20 20 20 |es auxil|iary. |
|00001740| 6d 65 74 68 6f 64 73 2c | 20 6e 6f 74 61 62 6c 79 |methods,| notably|
|00001750| 20 3c 43 4f 44 45 3e 6e | 61 72 72 6f 77 28 29 3c | <CODE>n|arrow()<|
|00001760| 2f 43 4f 44 45 3e 20 77 | 68 69 63 68 20 69 73 20 |/CODE> w|hich is |
|00001770| 74 68 65 20 43 4f 52 42 | 41 0a 20 20 20 63 6f 75 |the CORB|A. cou|
|00001780| 6e 74 65 72 70 61 72 74 | 20 6f 66 20 4a 61 76 61 |nterpart| of Java|
|00001790| 20 63 61 73 74 69 6e 67 | 2e 0a 20 20 20 0a 20 20 | casting|.. . |
|000017a0| 20 3c 4c 49 3e 41 20 4a | 61 76 61 20 63 6c 61 73 | <LI>A J|ava clas|
|000017b0| 73 20 63 61 6c 6c 65 64 | 20 3c 54 54 3e 46 6f 6f |s called| <TT>Foo|
|000017c0| 48 6f 6c 64 65 72 3c 2f | 54 54 3e 2c 20 77 68 69 |Holder</|TT>, whi|
|000017d0| 63 68 20 64 65 66 69 6e | 65 73 20 6d 65 74 68 6f |ch defin|es metho|
|000017e0| 64 73 0a 20 20 20 66 6f | 72 20 73 65 74 74 69 6e |ds. fo|r settin|
|000017f0| 67 20 61 6e 64 20 67 65 | 74 74 69 6e 67 20 74 68 |g and ge|tting th|
|00001800| 65 20 76 61 6c 75 65 73 | 20 6f 66 20 68 6f 6c 64 |e values| of hold|
|00001810| 65 72 73 2e 20 48 6f 6c | 64 65 72 73 20 61 72 65 |ers. Hol|ders are|
|00001820| 0a 20 20 20 72 65 71 75 | 69 72 65 64 20 66 6f 72 |. requ|ired for|
|00001830| 20 43 4f 52 42 41 20 6f | 70 65 72 61 74 69 6f 6e | CORBA o|peration|
|00001840| 73 20 74 68 61 74 20 74 | 61 6b 65 20 3c 54 54 3e |s that t|ake <TT>|
|00001850| 6f 75 74 3c 2f 54 54 3e | 20 6f 72 0a 20 20 20 3c |out</TT>| or. <|
|00001860| 54 54 3e 69 6e 6f 75 74 | 3c 2f 54 54 3e 20 61 72 |TT>inout|</TT> ar|
|00001870| 67 75 6d 65 6e 74 73 2c | 20 77 68 69 63 68 2c 20 |guments,| which, |
|00001880| 75 6e 6c 69 6b 65 20 43 | 4f 52 42 41 20 3c 54 54 |unlike C|ORBA <TT|
|00001890| 3e 69 6e 3c 2f 54 54 3e | 0a 20 20 20 61 72 67 75 |>in</TT>|. argu|
|000018a0| 6d 65 6e 74 73 2c 20 64 | 6f 6e 27 74 20 6d 61 70 |ments, d|on't map|
|000018b0| 20 64 69 72 65 63 74 6c | 79 20 74 6f 20 4a 61 76 | directl|y to Jav|
|000018c0| 61 27 73 20 63 61 6c 6c | 2d 62 79 2d 76 61 6c 75 |a's call|-by-valu|
|000018d0| 65 20 73 65 6d 61 6e 74 | 69 63 73 2e 0a 3c 2f 55 |e semant|ics..</U|
|000018e0| 4c 3e 0a 0a 3c 50 3e 48 | 65 72 65 27 73 20 61 20 |L>..<P>H|ere's a |
|000018f0| 73 69 6d 70 6c 65 20 65 | 78 61 6d 70 6c 65 20 66 |simple e|xample f|
|00001900| 72 6f 6d 20 74 68 65 20 | 70 6f 69 6e 74 20 6f 66 |rom the |point of|
|00001910| 20 76 69 65 77 20 6f 66 | 20 61 20 63 6c 69 65 6e | view of| a clien|
|00001920| 74 2e 3c 2f 50 3e 0a 0a | 3c 50 3e 3c 54 41 42 4c |t.</P>..|<P><TABL|
|00001930| 45 20 42 4f 52 44 45 52 | 3d 31 20 43 45 4c 4c 53 |E BORDER|=1 CELLS|
|00001940| 50 41 43 49 4e 47 3d 30 | 20 43 45 4c 4c 50 41 44 |PACING=0| CELLPAD|
|00001950| 44 49 4e 47 3d 30 20 57 | 49 44 54 48 3d 22 31 30 |DING=0 W|IDTH="10|
|00001960| 30 25 22 3e 0a 20 20 20 | 3c 54 52 3e 0a 20 20 20 |0%">. |<TR>. |
|00001970| 20 20 20 3c 54 48 3e 0a | 20 20 20 20 20 20 20 20 | <TH>.| |
|00001980| 20 3c 50 20 41 4c 49 47 | 4e 3d 4c 45 46 54 3e 4f | <P ALIG|N=LEFT>O|
|00001990| 4d 47 20 49 44 4c 0a 20 | 20 20 20 20 20 3c 2f 54 |MG IDL. | </T|
|000019a0| 48 3e 3c 54 48 3e 0a 20 | 20 20 20 20 20 20 20 20 |H><TH>. | |
|000019b0| 3c 50 20 41 4c 49 47 4e | 3d 4c 45 46 54 3e 47 65 |<P ALIGN|=LEFT>Ge|
|000019c0| 6e 65 72 61 74 65 64 20 | 4a 61 76 61 0a 20 20 20 |nerated |Java. |
|000019d0| 20 20 20 3c 2f 54 48 3e | 3c 2f 54 52 3e 0a 20 20 | </TH>|</TR>. |
|000019e0| 20 3c 54 52 3e 0a 20 20 | 20 20 20 20 3c 54 44 20 | <TR>. | <TD |
|000019f0| 56 41 4c 49 47 4e 3d 74 | 6f 70 3e 0a 20 20 20 20 |VALIGN=t|op>. |
|00001a00| 20 20 20 20 20 3c 50 52 | 45 3e 6d 6f 64 75 6c 65 | <PR|E>module|
|00001a10| 20 45 78 61 6d 70 6c 65 | 20 7b 0a 20 20 20 69 6e | Example| {. in|
|00001a20| 74 65 72 66 61 63 65 20 | 43 6f 75 6e 74 65 72 20 |terface |Counter |
|00001a30| 7b 0a 20 20 20 20 20 20 | 62 6f 6f 6c 65 61 6e 20 |{. |boolean |
|00001a40| 69 6e 63 72 65 6d 65 6e | 74 20 28 69 6e 20 6c 6f |incremen|t (in lo|
|00001a50| 6e 67 20 61 72 67 29 3b | 0a 20 20 20 7d 3b 0a 7d |ng arg);|. };.}|
|00001a60| 3b 3c 2f 50 52 45 3e 0a | 20 20 20 20 20 20 3c 2f |;</PRE>.| </|
|00001a70| 54 44 3e 3c 54 44 20 56 | 41 4c 49 47 4e 3d 74 6f |TD><TD V|ALIGN=to|
|00001a80| 70 3e 0a 20 20 20 20 20 | 20 20 20 20 3c 50 52 45 |p>. | <PRE|
|00001a90| 3e 70 61 63 6b 61 67 65 | 20 45 78 61 6d 70 6c 65 |>package| Example|
|00001aa0| 3b 0a 70 75 62 6c 69 63 | 20 69 6e 74 65 72 66 61 |;.public| interfa|
|00001ab0| 63 65 20 43 6f 75 6e 74 | 65 72 20 0a 20 20 20 65 |ce Count|er . e|
|00001ac0| 78 74 65 6e 64 73 20 6f | 72 67 2e 6f 6d 67 2e 43 |xtends o|rg.omg.C|
|00001ad0| 4f 52 42 41 2e 4f 62 6a | 65 63 74 20 7b 0a 20 20 |ORBA.Obj|ect {. |
|00001ae0| 20 70 75 62 6c 69 63 20 | 62 6f 6f 6c 65 61 6e 20 | public |boolean |
|00001af0| 69 6e 63 72 65 6d 65 6e | 74 20 28 69 6e 74 20 61 |incremen|t (int a|
|00001b00| 72 67 29 3b 0a 7d 0a 26 | 6e 62 73 70 3b 0a 70 75 |rg);.}.&|nbsp;.pu|
|00001b10| 62 6c 69 63 20 63 6c 61 | 73 73 20 43 6f 75 6e 74 |blic cla|ss Count|
|00001b20| 65 72 48 65 6c 70 65 72 | 20 7b 0a 20 20 20 70 75 |erHelper| {. pu|
|00001b30| 62 6c 69 63 20 73 74 61 | 74 69 63 20 43 6f 75 6e |blic sta|tic Coun|
|00001b40| 74 65 72 20 6e 61 72 72 | 6f 77 0a 20 20 20 20 20 |ter narr|ow. |
|00001b50| 20 28 6f 72 67 2e 6f 6d | 67 2e 43 4f 52 42 41 2e | (org.om|g.CORBA.|
|00001b60| 4f 62 6a 65 63 74 20 6f | 62 6a 29 3b 0a 20 20 20 |Object o|bj);. |
|00001b70| 2f 2f 20 2e 2e 2e 20 0a | 7d 20 0a 26 6e 62 73 70 |// ... .|} . |
|00001b80| 3b 0a 70 75 62 6c 69 63 | 20 66 69 6e 61 6c 20 63 |;.public| final c|
|00001b90| 6c 61 73 73 20 43 6f 75 | 6e 74 65 72 48 6f 6c 64 |lass Cou|nterHold|
|00001ba0| 65 72 20 7b 0a 20 20 20 | 2f 2f 20 2e 2e 2e 20 0a |er {. |// ... .|
|00001bb0| 7d 3c 2f 50 52 45 3e 0a | 20 20 20 20 20 20 3c 2f |}</PRE>.| </|
|00001bc0| 54 44 3e 3c 2f 54 52 3e | 0a 3c 2f 54 41 42 4c 45 |TD></TR>|.</TABLE|
|00001bd0| 3e 3c 2f 50 3e 0a 0a 3c | 50 3e 54 68 65 20 66 6f |></P>..<|P>The fo|
|00001be0| 6c 6c 6f 77 69 6e 67 20 | 4a 61 76 61 20 66 72 61 |llowing |Java fra|
|00001bf0| 67 6d 65 6e 74 20 73 68 | 6f 77 73 20 74 68 65 20 |gment sh|ows the |
|00001c00| 65 73 73 65 6e 74 69 61 | 6c 73 20 6f 66 20 64 65 |essentia|ls of de|
|00001c10| 63 6c 61 72 69 6e 67 20 | 61 6e 64 0a 69 6e 76 6f |claring |and.invo|
|00001c20| 6b 69 6e 67 20 61 6e 20 | 69 6e 73 74 61 6e 63 65 |king an |instance|
|00001c30| 20 6f 66 20 74 68 69 73 | 20 43 4f 52 42 41 20 6f | of this| CORBA o|
|00001c40| 62 6a 65 63 74 3a 3c 2f | 50 3e 0a 0a 3c 42 4c 4f |bject:</|P>..<BLO|
|00001c50| 43 4b 51 55 4f 54 45 3e | 3c 50 52 45 3e 69 6d 70 |CKQUOTE>|<PRE>imp|
|00001c60| 6f 72 74 20 45 78 61 6d | 70 6c 65 2e 2a 20 20 2f |ort Exam|ple.* /|
|00001c70| 2f 20 67 65 74 20 74 68 | 65 20 69 6e 74 65 72 66 |/ get th|e interf|
|00001c80| 61 63 65 20 61 6e 64 20 | 68 65 6c 70 65 72 20 0a |ace and |helper .|
|00001c90| 26 6e 62 73 70 3b 0a 43 | 6f 75 6e 74 65 72 20 61 | .C|ounter a|
|00001ca0| 6e 49 6e 73 74 61 6e 63 | 65 20 3d 20 2f 2f 20 3c |nInstanc|e = // <|
|00001cb0| 41 20 48 52 45 46 3d 22 | 23 4f 62 74 61 69 6e 69 |A HREF="|#Obtaini|
|00001cc0| 6e 67 4f 62 6a 72 65 66 | 73 22 3e 61 63 71 75 69 |ngObjref|s">acqui|
|00001cd0| 72 65 20 61 20 72 65 66 | 65 72 65 6e 63 65 3c 2f |re a ref|erence</|
|00001ce0| 41 3e 0a 26 6e 62 73 70 | 3b 0a 62 6f 6f 6c 65 61 |A>. |;.boolea|
|00001cf0| 6e 20 61 52 65 73 75 6c | 74 3b 20 0a 69 6e 74 20 |n aResul|t; .int |
|00001d00| 61 6e 41 72 67 20 3d 20 | 31 30 3b 0a 26 6e 62 73 |anArg = |10;.&nbs|
|00001d10| 70 3b 0a 61 52 65 73 75 | 6c 74 20 3d 20 61 6e 49 |p;.aResu|lt = anI|
|00001d20| 6e 73 74 61 6e 63 65 2e | 69 6e 63 72 65 6d 65 6e |nstance.|incremen|
|00001d30| 74 28 61 6e 41 72 67 29 | 3b 3c 2f 50 52 45 3e 3c |t(anArg)|;</PRE><|
|00001d40| 2f 42 4c 4f 43 4b 51 55 | 4f 54 45 3e 0a 0a 3c 50 |/BLOCKQU|OTE>..<P|
|00001d50| 3e 41 20 73 74 75 62 20 | 61 64 61 70 74 73 20 61 |>A stub |adapts a|
|00001d60| 20 63 6c 69 65 6e 74 20 | 74 6f 20 69 74 73 20 75 | client |to its u|
|00001d70| 6e 64 65 72 6c 79 69 6e | 67 20 4f 52 42 20 66 6f |nderlyin|g ORB fo|
|00001d80| 72 20 61 20 70 61 72 74 | 69 63 75 6c 61 72 0a 43 |r a part|icular.C|
|00001d90| 4f 52 42 41 20 6f 62 6a | 65 63 74 20 74 79 70 65 |ORBA obj|ect type|
|00001da0| 2e 20 54 68 65 20 4f 52 | 42 20 6b 6e 6f 77 73 20 |. The OR|B knows |
|00001db0| 68 6f 77 20 74 6f 20 6d | 61 72 73 68 61 6c 20 61 |how to m|arshal a|
|00001dc0| 6e 20 61 72 67 75 6d 65 | 6e 74 2c 20 62 75 74 20 |n argume|nt, but |
|00001dd0| 6e 6f 74 0a 77 68 69 63 | 68 20 61 72 67 75 6d 65 |not.whic|h argume|
|00001de0| 6e 74 73 20 6e 65 65 64 | 20 6d 61 72 73 68 61 6c |nts need| marshal|
|00001df0| 69 6e 67 20 66 6f 72 20 | 61 20 70 61 72 74 69 63 |ing for |a partic|
|00001e00| 75 6c 61 72 20 6d 65 74 | 68 6f 64 2e 20 54 68 65 |ular met|hod. The|
|00001e10| 20 73 74 75 62 2c 0a 62 | 65 69 6e 67 20 74 79 70 | stub,.b|eing typ|
|00001e20| 65 2d 73 70 65 63 69 66 | 69 63 2c 20 6b 6e 6f 77 |e-specif|ic, know|
|00001e30| 73 20 77 68 69 63 68 20 | 61 72 67 75 6d 65 6e 74 |s which |argument|
|00001e40| 73 20 6e 65 65 64 20 6d | 61 72 73 68 61 6c 69 6e |s need m|arshalin|
|00001e50| 67 20 66 6f 72 20 65 61 | 63 68 0a 6d 65 74 68 6f |g for ea|ch.metho|
|00001e60| 64 2e 20 57 68 65 6e 20 | 61 20 63 6c 69 65 6e 74 |d. When |a client|
|00001e70| 20 69 6e 76 6f 6b 65 73 | 20 61 20 73 74 75 62 20 | invokes| a stub |
|00001e80| 6d 65 74 68 6f 64 2c 20 | 74 68 65 20 73 74 75 62 |method, |the stub|
|00001e90| 20 74 65 6c 6c 73 20 74 | 68 65 0a 63 6c 69 65 6e | tells t|he.clien|
|00001ea0| 74 27 73 20 4f 52 42 20 | 77 68 61 74 20 74 6f 20 |t's ORB |what to |
|00001eb0| 6d 61 72 73 68 61 6c 2c | 20 61 6e 64 20 74 68 65 |marshal,| and the|
|00001ec0| 6e 20 74 65 6c 6c 73 20 | 74 68 65 20 4f 52 42 20 |n tells |the ORB |
|00001ed0| 74 6f 20 69 6e 76 6f 6b | 65 20 74 68 65 0a 43 4f |to invok|e the.CO|
|00001ee0| 52 42 41 20 6f 62 6a 65 | 63 74 20 69 64 65 6e 74 |RBA obje|ct ident|
|00001ef0| 69 66 69 65 64 20 62 79 | 20 74 68 65 20 6f 62 6a |ified by| the obj|
|00001f00| 65 63 74 20 72 65 66 65 | 72 65 6e 63 65 2e 20 54 |ect refe|rence. T|
|00001f10| 68 65 20 63 6c 69 65 6e | 74 27 73 20 4f 52 42 0a |he clien|t's ORB.|
|00001f20| 75 73 65 73 20 74 68 65 | 20 6f 62 6a 65 63 74 20 |uses the| object |
|00001f30| 72 65 66 65 72 65 6e 63 | 65 20 74 6f 20 64 65 74 |referenc|e to det|
|00001f40| 65 72 6d 69 6e 65 20 77 | 68 69 63 68 20 72 65 6d |ermine w|hich rem|
|00001f50| 6f 74 65 20 4f 52 42 20 | 73 68 6f 75 6c 64 0a 72 |ote ORB |should.r|
|00001f60| 65 63 65 69 76 65 20 74 | 68 65 20 69 6e 76 6f 63 |eceive t|he invoc|
|00001f70| 61 74 69 6f 6e 2c 20 70 | 61 73 73 65 73 20 74 68 |ation, p|asses th|
|00001f80| 65 20 6d 61 72 73 68 61 | 6c 65 64 20 70 61 72 61 |e marsha|led para|
|00001f90| 6d 65 74 65 72 73 20 6f | 76 65 72 20 74 68 65 0a |meters o|ver the.|
|00001fa0| 6e 65 74 77 6f 72 6b 20 | 74 6f 20 74 68 61 74 20 |network |to that |
|00001fb0| 4f 52 42 2c 20 61 6e 64 | 20 77 61 69 74 73 20 66 |ORB, and| waits f|
|00001fc0| 6f 72 20 74 68 65 20 72 | 65 73 75 6c 74 2e 20 28 |or the r|esult. (|
|00001fd0| 46 6f 72 20 74 68 6f 73 | 65 20 66 61 6d 69 6c 69 |For thos|e famili|
|00001fe0| 61 72 0a 77 69 74 68 20 | 72 65 6d 6f 74 65 20 70 |ar.with |remote p|
|00001ff0| 72 6f 63 65 64 75 72 65 | 20 63 61 6c 6c 73 2c 20 |rocedure| calls, |
|00002000| 43 4f 52 42 41 20 6f 62 | 6a 65 63 74 20 69 6e 76 |CORBA ob|ject inv|
|00002010| 6f 63 61 74 69 6f 6e 20 | 69 73 20 73 69 6d 69 6c |ocation |is simil|
|00002020| 61 72 2e 29 0a 3c 2f 50 | 3e 0a 0a 3c 50 3e 41 20 |ar.).</P|>..<P>A |
|00002030| 73 6b 65 6c 65 74 6f 6e | 20 69 73 20 61 6e 20 6f |skeleton| is an o|
|00002040| 62 6a 65 63 74 20 73 65 | 72 76 65 72 27 73 20 61 |bject se|rver's a|
|00002050| 6e 61 6c 6f 67 20 6f 66 | 20 74 68 65 20 63 6c 69 |nalog of| the cli|
|00002060| 65 6e 74 27 73 20 73 74 | 75 62 2e 0a 53 6b 65 6c |ent's st|ub..Skel|
|00002070| 65 74 6f 6e 73 20 61 72 | 65 20 61 6c 73 6f 20 67 |etons ar|e also g|
|00002080| 65 6e 65 72 61 74 65 64 | 20 62 79 20 49 44 4c 20 |enerated| by IDL |
|00002090| 63 6f 6d 70 69 6c 65 72 | 73 2e 20 57 68 65 6e 20 |compiler|s. When |
|000020a0| 61 6e 20 4f 52 42 20 72 | 65 63 65 69 76 65 73 0a |an ORB r|eceives.|
|000020b0| 61 6e 20 69 6e 76 6f 63 | 61 74 69 6f 6e 20 66 6f |an invoc|ation fo|
|000020c0| 72 20 6f 6e 65 20 6f 66 | 20 69 74 73 20 6f 62 6a |r one of| its obj|
|000020d0| 65 63 74 73 2c 20 69 74 | 20 69 6e 73 70 65 63 74 |ects, it| inspect|
|000020e0| 73 20 74 68 65 20 6f 62 | 6a 65 63 74 0a 72 65 66 |s the ob|ject.ref|
|000020f0| 65 72 65 6e 63 65 20 74 | 6f 20 6c 65 61 72 6e 20 |erence t|o learn |
|00002100| 74 68 65 20 69 64 65 6e | 74 69 74 79 20 6f 66 20 |the iden|tity of |
|00002110| 74 68 65 20 6f 62 6a 65 | 63 74 27 73 20 73 65 72 |the obje|ct's ser|
|00002120| 76 65 72 2e 20 54 68 65 | 20 4f 52 42 20 74 68 65 |ver. The| ORB the|
|00002130| 6e 0a 69 6e 76 6f 6b 65 | 73 20 74 68 65 20 73 6b |n.invoke|s the sk|
|00002140| 65 6c 65 74 6f 6e 2c 20 | 77 68 69 63 68 20 74 65 |eleton, |which te|
|00002150| 6c 6c 73 20 74 68 65 20 | 4f 52 42 20 68 6f 77 20 |lls the |ORB how |
|00002160| 74 6f 20 75 6e 6d 61 72 | 73 68 61 6c 20 74 68 65 |to unmar|shal the|
|00002170| 0a 70 61 72 61 6d 65 74 | 65 72 73 2c 20 61 6e 64 |.paramet|ers, and|
|00002180| 20 66 69 6e 61 6c 6c 79 | 20 69 6e 76 6f 6b 65 73 | finally| invokes|
|00002190| 20 74 68 65 20 73 65 72 | 76 65 72 20 69 6d 70 6c | the ser|ver impl|
|000021a0| 65 6d 65 6e 74 61 74 69 | 6f 6e 20 6f 66 20 74 68 |ementati|on of th|
|000021b0| 65 0a 6f 70 65 72 61 74 | 69 6f 6e 20 72 65 71 75 |e.operat|ion requ|
|000021c0| 65 73 74 65 64 20 62 79 | 20 74 68 65 20 63 6c 69 |ested by| the cli|
|000021d0| 65 6e 74 2e 20 54 68 65 | 20 73 65 72 76 65 72 20 |ent. The| server |
|000021e0| 6d 65 74 68 6f 64 20 72 | 65 74 75 72 6e 73 20 61 |method r|eturns a|
|000021f0| 20 72 65 73 75 6c 74 0a | 74 6f 20 74 68 65 20 73 | result.|to the s|
|00002200| 6b 65 6c 65 74 6f 6e 20 | 77 68 69 63 68 20 61 72 |keleton |which ar|
|00002210| 72 61 6e 67 65 73 20 6d | 61 72 73 68 61 6c 69 6e |ranges m|arshalin|
|00002220| 67 20 77 69 74 68 20 74 | 68 65 20 73 65 72 76 65 |g with t|he serve|
|00002230| 72 20 4f 52 42 2c 20 77 | 68 69 63 68 0a 72 65 74 |r ORB, w|hich.ret|
|00002240| 75 72 6e 73 20 74 68 65 | 20 72 65 73 75 6c 74 20 |urns the| result |
|00002250| 74 6f 20 74 68 65 20 63 | 6c 69 65 6e 74 20 4f 52 |to the c|lient OR|
|00002260| 42 2c 20 77 68 69 63 68 | 20 72 65 74 75 72 6e 73 |B, which| returns|
|00002270| 20 69 74 20 74 6f 20 74 | 68 65 20 73 74 75 62 2c | it to t|he stub,|
|00002280| 0a 77 68 69 63 68 20 72 | 65 74 75 72 6e 73 20 69 |.which r|eturns i|
|00002290| 74 20 74 6f 20 74 68 65 | 20 63 6c 69 65 6e 74 2e |t to the| client.|
|000022a0| 20 52 65 63 61 6c 6c 20 | 74 68 61 74 20 74 6f 20 | Recall |that to |
|000022b0| 61 20 63 6c 69 65 6e 74 | 2c 20 74 68 65 20 73 74 |a client|, the st|
|000022c0| 75 62 20 61 6e 64 0a 73 | 6b 65 6c 65 74 6f 6e 20 |ub and.s|keleton |
|000022d0| 61 72 65 20 69 6e 76 69 | 73 69 62 6c 65 3b 20 74 |are invi|sible; t|
|000022e0| 6f 20 74 68 65 20 63 6c | 69 65 6e 74 20 74 68 65 |o the cl|ient the|
|000022f0| 20 6f 62 6a 65 63 74 20 | 72 65 66 65 72 65 6e 63 | object |referenc|
|00002300| 65 20 69 73 20 74 68 65 | 0a 43 4f 52 42 41 20 6f |e is the|.CORBA o|
|00002310| 62 6a 65 63 74 2e 3c 2f | 50 3e 0a 0a 3c 50 3e 54 |bject.</|P>..<P>T|
|00002320| 6f 20 73 75 6d 6d 61 72 | 69 7a 65 2c 20 49 49 4f |o summar|ize, IIO|
|00002330| 50 20 4f 52 42 73 20 63 | 6f 6d 6d 75 6e 69 63 61 |P ORBs c|ommunica|
|00002340| 74 65 20 43 4f 52 42 41 | 20 6f 62 6a 65 63 74 20 |te CORBA| object |
|00002350| 69 6e 76 6f 63 61 74 69 | 6f 6e 73 0a 61 63 72 6f |invocati|ons.acro|
|00002360| 73 73 20 61 20 6e 65 74 | 77 6f 72 6b 20 69 6e 20 |ss a net|work in |
|00002370| 61 20 66 6f 72 6d 20 74 | 68 61 74 20 74 68 65 79 |a form t|hat they|
|00002380| 20 61 6c 6c 20 75 6e 64 | 65 72 73 74 61 6e 64 2e | all und|erstand.|
|00002390| 20 41 6c 6c 20 4f 52 42 | 0a 6f 70 65 72 61 74 69 | All ORB|.operati|
|000023a0| 6f 6e 73 20 61 72 65 20 | 69 6e 64 65 70 65 6e 64 |ons are |independ|
|000023b0| 65 6e 74 20 6f 66 20 74 | 68 65 20 74 79 70 65 20 |ent of t|he type |
|000023c0| 6f 66 20 6f 62 6a 65 63 | 74 20 62 65 69 6e 67 20 |of objec|t being |
|000023d0| 69 6e 76 6f 6b 65 64 2c | 20 61 6e 64 0a 74 68 65 |invoked,| and.the|
|000023e0| 20 6c 61 6e 67 75 61 67 | 65 20 69 6e 20 77 68 69 | languag|e in whi|
|000023f0| 63 68 20 74 68 65 20 63 | 6c 69 65 6e 74 20 61 6e |ch the c|lient an|
|00002400| 64 20 73 65 72 76 65 72 | 20 61 72 65 20 77 72 69 |d server| are wri|
|00002410| 74 74 65 6e 2e 20 49 74 | 27 73 20 74 68 65 20 6a |tten. It|'s the j|
|00002420| 6f 62 0a 6f 66 20 61 20 | 73 74 75 62 20 61 6e 64 |ob.of a |stub and|
|00002430| 20 61 20 73 6b 65 6c 65 | 74 6f 6e 20 74 6f 20 6d | a skele|ton to m|
|00002440| 61 74 63 68 20 63 6c 69 | 65 6e 74 73 20 61 6e 64 |atch cli|ents and|
|00002450| 20 73 65 72 76 65 72 73 | 20 74 6f 20 74 68 65 69 | servers| to thei|
|00002460| 72 20 4f 52 42 73 0a 66 | 6f 72 20 61 20 70 61 72 |r ORBs.f|or a par|
|00002470| 74 69 63 75 6c 61 72 20 | 74 79 70 65 20 6f 66 20 |ticular |type of |
|00002480| 43 4f 52 42 41 20 6f 62 | 6a 65 63 74 2e 3c 2f 50 |CORBA ob|ject.</P|
|00002490| 3e 0a 0a 3c 48 34 3e 3c | 41 20 4e 41 4d 45 3d 22 |>..<H4><|A NAME="|
|000024a0| 44 79 6e 61 6d 69 63 49 | 6e 76 6f 63 61 74 69 6f |DynamicI|nvocatio|
|000024b0| 6e 22 3e 3c 2f 41 3e 44 | 79 6e 61 6d 69 63 20 49 |n"></A>D|ynamic I|
|000024c0| 6e 76 6f 63 61 74 69 6f | 6e 3c 2f 48 34 3e 0a 0a |nvocatio|n</H4>..|
|000024d0| 3c 50 3e 43 4f 52 42 41 | 20 64 79 6e 61 6d 69 63 |<P>CORBA| dynamic|
|000024e0| 20 69 6e 76 6f 63 61 74 | 69 6f 6e 20 75 73 65 73 | invocat|ion uses|
|000024f0| 20 61 6e 20 6f 62 6a 65 | 63 74 20 63 61 6c 6c 65 | an obje|ct calle|
|00002500| 64 20 61 20 3c 49 3e 72 | 65 71 75 65 73 74 3c 2f |d a <I>r|equest</|
|00002510| 49 3e 20 74 6f 0a 68 6f | 6c 64 20 65 76 65 72 79 |I> to.ho|ld every|
|00002520| 74 68 69 6e 67 20 70 65 | 72 74 69 6e 65 6e 74 20 |thing pe|rtinent |
|00002530| 74 6f 20 61 6e 20 69 6e | 76 6f 63 61 74 69 6f 6e |to an in|vocation|
|00002540| 3a 20 74 68 65 20 6f 62 | 6a 65 63 74 20 72 65 66 |: the ob|ject ref|
|00002550| 65 72 65 6e 63 65 2c 20 | 74 68 65 0a 6e 61 6d 65 |erence, |the.name|
|00002560| 20 6f 66 20 74 68 65 20 | 6f 70 65 72 61 74 69 6f | of the |operatio|
|00002570| 6e 2c 20 69 74 73 20 70 | 61 72 61 6d 65 74 65 72 |n, its p|arameter|
|00002580| 73 2c 20 61 6e 64 20 73 | 70 61 63 65 20 66 6f 72 |s, and s|pace for|
|00002590| 20 74 68 65 20 72 65 73 | 75 6c 74 2e 20 54 68 65 | the res|ult. The|
|000025a0| 0a 63 6c 69 65 6e 74 20 | 62 75 69 6c 64 73 20 61 |.client |builds a|
|000025b0| 20 72 65 71 75 65 73 74 | 20 6f 62 6a 65 63 74 20 | request| object |
|000025c0| 64 65 73 63 72 69 62 69 | 6e 67 20 61 6e 20 6f 70 |describi|ng an op|
|000025d0| 65 72 61 74 69 6f 6e 2c | 20 74 68 65 6e 20 63 61 |eration,| then ca|
|000025e0| 6c 6c 73 0a 74 68 65 20 | 72 65 71 75 65 73 74 27 |lls.the |request'|
|000025f0| 73 20 3c 43 4f 44 45 3e | 69 6e 76 6f 6b 65 3c 2f |s <CODE>|invoke</|
|00002600| 43 4f 44 45 3e 20 6d 65 | 74 68 6f 64 2c 20 77 68 |CODE> me|thod, wh|
|00002610| 69 63 68 20 64 69 73 70 | 61 74 63 68 65 73 20 74 |ich disp|atches t|
|00002620| 68 65 0a 72 65 71 75 65 | 73 74 20 6a 75 73 74 20 |he.reque|st just |
|00002630| 61 73 20 61 20 73 74 75 | 62 20 77 6f 75 6c 64 2e |as a stu|b would.|
|00002640| 20 57 68 65 6e 20 74 68 | 65 20 69 6e 76 6f 6b 65 | When th|e invoke|
|00002650| 20 6d 65 74 68 6f 64 20 | 72 65 74 75 72 6e 73 2c | method |returns,|
|00002660| 20 74 68 65 0a 72 65 73 | 75 6c 74 20 69 73 20 61 | the.res|ult is a|
|00002670| 76 61 69 6c 61 62 6c 65 | 20 69 6e 20 74 68 65 20 |vailable| in the |
|00002680| 72 65 71 75 65 73 74 20 | 6f 62 6a 65 63 74 2e 3c |request |object.<|
|00002690| 2f 50 3e 0a 0a 3c 50 3e | 54 68 65 20 6b 65 79 20 |/P>..<P>|The key |
|000026a0| 74 6f 20 64 79 6e 61 6d | 69 63 20 69 6e 76 6f 63 |to dynam|ic invoc|
|000026b0| 61 74 69 6f 6e 20 69 73 | 20 74 68 65 20 61 62 69 |ation is| the abi|
|000026c0| 6c 69 74 79 20 6f 66 20 | 72 65 71 75 65 73 74 73 |lity of |requests|
|000026d0| 20 74 6f 20 68 6f 6c 64 | 0a 73 65 6c 66 2d 64 65 | to hold|.self-de|
|000026e0| 73 63 72 69 62 69 6e 67 | 20 64 61 74 61 2e 20 54 |scribing| data. T|
|000026f0| 68 69 73 20 66 61 63 69 | 6c 69 74 79 20 65 6e 61 |his faci|lity ena|
|00002700| 62 6c 65 73 20 61 20 72 | 65 71 75 65 73 74 20 6f |bles a r|equest o|
|00002710| 62 6a 65 63 74 20 74 6f | 0a 72 65 70 72 65 73 65 |bject to|.represe|
|00002720| 6e 74 20 61 6e 79 20 69 | 6e 76 6f 63 61 74 69 6f |nt any i|nvocatio|
|00002730| 6e 20 6f 66 20 61 6e 79 | 20 6f 70 65 72 61 74 69 |n of any| operati|
|00002740| 6f 6e 2c 20 72 65 67 61 | 72 64 6c 65 73 73 20 6f |on, rega|rdless o|
|00002750| 66 20 69 74 73 0a 70 61 | 72 61 6d 65 74 65 72 73 |f its.pa|rameters|
|00002760| 20 61 72 65 2e 20 45 61 | 63 68 20 73 65 6c 66 2d | are. Ea|ch self-|
|00002770| 64 65 73 63 72 69 62 69 | 6e 67 20 64 61 74 61 20 |describi|ng data |
|00002780| 65 6c 65 6d 65 6e 74 20 | 68 61 73 20 61 20 73 70 |element |has a sp|
|00002790| 65 63 69 61 6c 20 74 79 | 70 65 0a 6b 6e 6f 77 6e |ecial ty|pe.known|
|000027a0| 20 69 6e 20 4f 4d 47 20 | 49 44 4c 20 61 73 20 3c | in OMG |IDL as <|
|000027b0| 43 4f 44 45 3e 41 6e 79 | 3c 2f 43 4f 44 45 3e 2e |CODE>Any|</CODE>.|
|000027c0| 20 41 6e 20 3c 43 4f 44 | 45 3e 41 6e 79 3c 2f 43 | An <COD|E>Any</C|
|000027d0| 4f 44 45 3e 20 63 6f 6e | 73 69 73 74 73 20 6f 66 |ODE> con|sists of|
|000027e0| 0a 61 20 74 79 70 65 63 | 6f 64 65 20 28 77 68 6f |.a typec|ode (who|
|000027f0| 73 65 20 76 61 6c 75 65 | 73 20 61 72 65 20 64 65 |se value|s are de|
|00002800| 66 69 6e 65 64 20 62 79 | 20 4f 4d 47 20 49 44 4c |fined by| OMG IDL|
|00002810| 29 20 61 6e 64 20 61 20 | 76 61 6c 75 65 3b 20 74 |) and a |value; t|
|00002820| 68 65 0a 74 79 70 65 63 | 6f 64 65 20 73 70 65 63 |he.typec|ode spec|
|00002830| 69 66 69 65 73 20 74 68 | 65 20 74 79 70 65 20 6f |ifies th|e type o|
|00002840| 66 20 74 68 65 20 76 61 | 6c 75 65 2e 3c 2f 50 3e |f the va|lue.</P>|
|00002850| 0a 0a 3c 50 3e 54 68 65 | 20 66 6f 6c 6c 6f 77 69 |..<P>The| followi|
|00002860| 6e 67 20 65 78 61 6d 70 | 6c 65 20 73 68 6f 77 73 |ng examp|le shows|
|00002870| 20 74 68 65 20 65 73 73 | 65 6e 74 69 61 6c 73 20 | the ess|entials |
|00002880| 6f 66 20 64 79 6e 61 6d | 69 63 20 69 6e 76 6f 63 |of dynam|ic invoc|
|00002890| 61 74 69 6f 6e 2e 0a 54 | 68 65 20 43 4f 52 42 41 |ation..T|he CORBA|
|000028a0| 20 6f 62 6a 65 63 74 20 | 74 6f 20 62 65 20 69 6e | object |to be in|
|000028b0| 76 6f 6b 65 64 20 68 61 | 73 20 74 68 65 20 66 6f |voked ha|s the fo|
|000028c0| 6c 6c 6f 77 69 6e 67 20 | 4f 4d 47 20 49 44 4c 20 |llowing |OMG IDL |
|000028d0| 69 6e 74 65 72 66 61 63 | 65 0a 64 65 66 69 6e 69 |interfac|e.defini|
|000028e0| 74 69 6f 6e 3a 3c 2f 50 | 3e 0a 0a 3c 50 52 45 3e |tion:</P|>..<PRE>|
|000028f0| 20 20 20 69 6e 74 65 72 | 66 61 63 65 20 43 6f 75 | inter|face Cou|
|00002900| 6e 74 65 72 20 7b 0a 20 | 20 20 20 20 20 20 6c 6f |nter {. | lo|
|00002910| 6e 67 20 69 6e 63 72 65 | 6d 65 6e 74 28 69 6e 20 |ng incre|ment(in |
|00002920| 6c 6f 6e 67 20 69 6e 63 | 29 3b 0a 20 20 20 20 7d |long inc|);. }|
|00002930| 3b 20 0a 20 3c 2f 50 52 | 45 3e 0a 0a 3c 50 3e 41 |; . </PR|E>..<P>A|
|00002940| 20 4a 61 76 61 20 61 70 | 70 6c 69 63 61 74 69 6f | Java ap|plicatio|
|00002950| 6e 20 74 68 61 74 20 63 | 72 65 61 74 65 73 20 61 |n that c|reates a|
|00002960| 6e 64 20 70 6f 70 75 6c | 61 74 65 73 20 61 20 72 |nd popul|ates a r|
|00002970| 65 71 75 65 73 74 0a 6f | 62 6a 65 63 74 20 77 69 |equest.o|bject wi|
|00002980| 74 68 20 74 68 65 20 64 | 61 74 61 20 6e 65 65 64 |th the d|ata need|
|00002990| 65 64 20 74 6f 20 69 6e | 76 6f 6b 65 20 74 68 65 |ed to in|voke the|
|000029a0| 20 43 4f 52 42 41 20 6f | 62 6a 65 63 74 27 73 0a | CORBA o|bject's.|
|000029b0| 3c 43 4f 44 45 3e 69 6e | 63 72 65 6d 65 6e 74 3c |<CODE>in|crement<|
|000029c0| 2f 43 4f 44 45 3e 20 6f | 70 65 72 61 74 69 6f 6e |/CODE> o|peration|
|000029d0| 20 69 73 20 73 68 6f 77 | 6e 20 62 65 6c 6f 77 2e | is show|n below.|
|000029e0| 3c 2f 50 3e 0a 0a 3c 50 | 52 45 3e 0a 69 6d 70 6f |</P>..<P|RE>.impo|
|000029f0| 72 74 20 6f 72 67 2e 6f | 6d 67 2e 43 4f 52 42 41 |rt org.o|mg.CORBA|
|00002a00| 2e 2a 3b 0a 0a 70 75 62 | 6c 69 63 20 63 6c 61 73 |.*;..pub|lic clas|
|00002a10| 73 20 43 6f 75 6e 74 65 | 72 43 6c 69 65 6e 74 20 |s Counte|rClient |
|00002a20| 7b 0a 0a 20 20 70 75 62 | 6c 69 63 20 73 74 61 74 |{.. pub|lic stat|
|00002a30| 69 63 20 76 6f 69 64 20 | 6d 61 69 6e 28 53 74 72 |ic void |main(Str|
|00002a40| 69 6e 67 5b 5d 20 61 72 | 67 73 29 20 0a 20 20 20 |ing[] ar|gs) . |
|00002a50| 20 7b 0a 20 20 20 20 20 | 20 69 6e 74 20 63 74 72 | {. | int ctr|
|00002a60| 49 6e 56 61 6c 75 65 20 | 3d 20 31 30 3b 0a 20 20 |InValue |= 10;. |
|00002a70| 20 20 20 20 69 6e 74 20 | 63 74 72 4f 75 74 56 61 | int |ctrOutVa|
|00002a80| 6c 75 65 3b 0a 0a 20 20 | 20 20 20 20 2f 2f 20 47 |lue;.. | // G|
|00002a90| 65 74 20 61 20 68 6f 6c | 64 20 6f 66 20 74 68 65 |et a hol|d of the|
|00002aa0| 20 6f 62 6a 65 63 74 20 | 72 65 66 65 72 65 6e 63 | object |referenc|
|00002ab0| 65 20 74 6f 20 74 68 65 | 20 63 6f 75 6e 74 65 72 |e to the| counter|
|00002ac0| 20 6f 62 6a 65 63 74 2e | 0a 20 20 20 20 20 20 2f | object.|. /|
|00002ad0| 2f 20 54 68 69 73 20 77 | 6f 75 6c 64 20 74 79 70 |/ This w|ould typ|
|00002ae0| 69 63 61 6c 6c 79 20 62 | 65 20 64 6f 6e 65 20 62 |ically b|e done b|
|00002af0| 79 20 6c 6f 6f 6b 69 6e | 67 20 75 70 20 61 20 6e |y lookin|g up a n|
|00002b00| 61 6d 65 20 73 65 72 76 | 69 63 65 20 6f 72 0a 20 |ame serv|ice or. |
|00002b10| 20 20 20 20 20 2f 2f 20 | 67 65 74 74 69 6e 67 20 | // |getting |
|00002b20| 69 74 20 61 73 20 61 20 | 72 65 73 75 6c 74 20 66 |it as a |result f|
|00002b30| 72 6f 6d 20 73 6f 6d 65 | 20 6f 74 68 65 72 20 6f |rom some| other o|
|00002b40| 70 65 72 61 74 69 6f 6e | 2e 0a 0a 20 20 20 20 20 |peration|... |
|00002b50| 20 6f 72 67 2e 6f 6d 67 | 2e 43 4f 52 42 41 2e 4f | org.omg|.CORBA.O|
|00002b60| 62 6a 65 63 74 20 63 6f | 75 6e 74 65 72 20 3d 20 |bject co|unter = |
|00002b70| 5f 73 6f 6d 65 68 6f 77 | 5f 67 65 74 5f 68 6f 6c |_somehow|_get_hol|
|00002b80| 64 5f 6f 66 5f 63 6f 75 | 6e 74 65 72 28 29 3b 0a |d_of_cou|nter();.|
|00002b90| 0a 20 20 20 20 20 20 2f | 2f 20 49 6e 69 74 69 61 |. /|/ Initia|
|00002ba0| 6c 69 7a 65 20 74 68 65 | 20 4f 52 42 2e 0a 20 20 |lize the| ORB.. |
|00002bb0| 20 20 20 20 4f 52 42 20 | 5f 6f 72 62 20 3d 20 4f | ORB |_orb = O|
|00002bc0| 52 42 2e 69 6e 69 74 28 | 29 3b 0a 0a 20 20 20 20 |RB.init(|);.. |
|00002bd0| 20 20 2f 2f 20 53 65 74 | 20 75 70 20 74 68 65 20 | // Set| up the |
|00002be0| 61 72 67 75 6d 65 6e 74 | 20 28 61 73 20 61 6e 20 |argument| (as an |
|00002bf0| 4e 56 4c 69 73 74 29 0a | 20 20 20 20 20 20 4e 56 |NVList).| NV|
|00002c00| 4c 69 73 74 20 5f 61 72 | 67 75 6d 65 6e 74 73 20 |List _ar|guments |
|00002c10| 3d 20 5f 6f 72 62 2e 63 | 72 65 61 74 65 5f 6c 69 |= _orb.c|reate_li|
|00002c20| 73 74 28 31 29 3b 0a 20 | 20 20 20 20 20 41 6e 79 |st(1);. | Any|
|00002c30| 20 5f 69 6e 70 75 74 20 | 3d 20 5f 6f 72 62 2e 63 | _input |= _orb.c|
|00002c40| 72 65 61 74 65 5f 61 6e | 79 28 29 3b 0a 20 20 20 |reate_an|y();. |
|00002c50| 20 20 20 5f 69 6e 70 75 | 74 2e 69 6e 73 65 72 74 | _inpu|t.insert|
|00002c60| 5f 6c 6f 6e 67 28 63 74 | 72 49 6e 56 61 6c 75 65 |_long(ct|rInValue|
|00002c70| 29 3b 0a 20 20 20 20 20 | 20 5f 61 72 67 75 6d 65 |);. | _argume|
|00002c80| 6e 74 73 2e 61 64 64 5f | 76 61 6c 75 65 28 22 69 |nts.add_|value("i|
|00002c90| 6e 63 22 2c 09 09 2f 2f | 20 6e 61 6d 65 0a 09 09 |nc",..//| name...|
|00002ca0| 09 20 20 20 5f 69 6e 70 | 75 74 2c 20 09 09 2f 2f |. _inp|ut, ..//|
|00002cb0| 20 76 61 6c 75 65 0a 09 | 09 09 20 20 20 41 52 47 | value..|.. ARG|
|00002cc0| 5f 49 4e 2e 76 61 6c 75 | 65 29 3b 09 2f 2f 20 66 |_IN.valu|e);.// f|
|00002cd0| 6c 61 67 73 0a 0a 20 20 | 20 20 20 20 2f 2f 20 53 |lags.. | // S|
|00002ce0| 65 74 20 75 70 20 74 68 | 65 20 72 65 73 75 6c 74 |et up th|e result|
|00002cf0| 20 63 6f 6e 74 61 69 6e | 65 72 20 28 61 73 20 61 | contain|er (as a|
|00002d00| 20 4e 61 6d 65 64 56 61 | 6c 75 65 29 0a 20 20 20 | NamedVa|lue). |
|00002d10| 20 20 20 41 6e 79 20 5f | 72 65 73 75 6c 74 20 3d | Any _|result =|
|00002d20| 20 5f 6f 72 62 2e 63 72 | 65 61 74 65 5f 61 6e 79 | _orb.cr|eate_any|
|00002d30| 28 29 3b 09 09 09 09 2f | 2f 20 63 72 65 61 74 65 |();..../|/ create|
|00002d40| 20 61 6e 79 0a 20 20 20 | 20 20 20 5f 72 65 73 75 | any. | _resu|
|00002d50| 6c 74 2e 74 79 70 65 28 | 5f 6f 72 62 2e 67 65 74 |lt.type(|_orb.get|
|00002d60| 5f 70 72 69 6d 69 74 69 | 76 65 5f 74 63 28 54 43 |_primiti|ve_tc(TC|
|00002d70| 4b 69 6e 64 2e 74 6b 5f | 6c 6f 6e 67 29 29 3b 09 |Kind.tk_|long));.|
|00002d80| 2f 2f 20 73 65 74 20 74 | 79 70 65 0a 20 20 20 20 |// set t|ype. |
|00002d90| 20 20 4e 61 6d 65 64 56 | 61 6c 75 65 20 5f 72 65 | NamedV|alue _re|
|00002da0| 73 75 6c 74 4e 56 20 3d | 20 5f 6f 72 62 2e 63 72 |sultNV =| _orb.cr|
|00002db0| 65 61 74 65 5f 6e 61 6d | 65 64 5f 76 61 6c 75 65 |eate_nam|ed_value|
|00002dc0| 28 6e 75 6c 6c 2c 20 09 | 2f 2f 20 6e 61 6d 65 0a |(null, .|// name.|
|00002dd0| 09 09 09 09 09 09 20 20 | 20 20 20 5f 72 65 73 75 |...... | _resu|
|00002de0| 6c 74 2c 20 09 2f 2f 20 | 76 61 6c 75 65 0a 09 09 |lt, .// |value...|
|00002df0| 09 09 09 09 20 20 20 20 | 20 30 29 3b 09 2f 2f 20 |.... | 0);.// |
|00002e00| 66 6c 61 67 73 0a 0a 20 | 20 20 20 20 20 2f 2f 20 |flags.. | // |
|00002e10| 43 72 65 61 74 65 20 74 | 68 65 20 72 65 71 75 65 |Create t|he reque|
|00002e20| 73 74 0a 20 20 20 20 20 | 20 52 65 71 75 65 73 74 |st. | Request|
|00002e30| 20 5f 72 65 71 75 65 73 | 74 20 3d 20 63 6f 75 6e | _reques|t = coun|
|00002e40| 74 65 72 2e 5f 63 72 65 | 61 74 65 5f 72 65 71 75 |ter._cre|ate_requ|
|00002e50| 65 73 74 28 6e 75 6c 6c | 2c 09 09 2f 2f 20 63 6f |est(null|,..// co|
|00002e60| 6e 74 65 78 74 0a 09 09 | 09 09 09 09 22 69 6e 63 |ntext...|...."inc|
|00002e70| 72 65 6d 65 6e 74 22 2c | 09 2f 2f 20 6f 70 65 72 |rement",|.// oper|
|00002e80| 61 74 69 6f 6e 0a 09 09 | 09 09 09 09 5f 61 72 67 |ation...|...._arg|
|00002e90| 75 6d 65 6e 74 73 2c 20 | 09 2f 2f 20 61 72 67 75 |uments, |.// argu|
|00002ea0| 6d 65 6e 74 73 0a 09 09 | 09 09 09 09 5f 72 65 73 |ments...|...._res|
|00002eb0| 75 6c 74 4e 56 29 3b 09 | 2f 2f 20 72 65 73 75 6c |ultNV);.|// resul|
|00002ec0| 74 0a 20 20 20 20 20 20 | 0a 20 20 20 20 20 20 2f |t. |. /|
|00002ed0| 2f 20 49 6e 76 6f 6b 65 | 20 74 68 65 20 6f 70 65 |/ Invoke| the ope|
|00002ee0| 72 61 74 69 6f 6e 0a 20 | 20 20 20 20 20 5f 72 65 |ration. | _re|
|00002ef0| 71 75 65 73 74 2e 69 6e | 76 6f 6b 65 28 29 3b 0a |quest.in|voke();.|
|00002f00| 0a 20 20 20 20 20 20 2f | 2f 20 47 65 74 20 61 20 |. /|/ Get a |
|00002f10| 68 6f 6c 64 20 6f 66 20 | 74 68 65 20 72 65 73 75 |hold of |the resu|
|00002f20| 6c 74 0a 20 20 20 20 20 | 20 63 74 72 4f 75 74 56 |lt. | ctrOutV|
|00002f30| 61 6c 75 65 20 3d 20 5f | 72 65 73 75 6c 74 2e 65 |alue = _|result.e|
|00002f40| 78 74 72 61 63 74 5f 6c | 6f 6e 67 28 29 3b 0a 20 |xtract_l|ong();. |
|00002f50| 20 20 20 20 20 53 79 73 | 74 65 6d 2e 6f 75 74 2e | Sys|tem.out.|
|00002f60| 70 72 69 6e 74 6c 6e 28 | 22 56 61 6c 75 65 20 72 |println(|"Value r|
|00002f70| 65 74 75 72 6e 65 64 20 | 66 72 6f 6d 20 63 6f 75 |eturned |from cou|
|00002f80| 6e 74 65 72 20 3d 20 22 | 20 2b 20 20 63 74 72 4f |nter = "| + ctrO|
|00002f90| 75 74 56 61 6c 75 65 29 | 3b 0a 20 20 20 20 7d 0a |utValue)|;. }.|
|00002fa0| 7d 0a 3c 2f 50 52 45 3e | 0a 0a 3c 48 32 3e 4f 4d |}.</PRE>|..<H2>OM|
|00002fb0| 47 20 49 44 4c 20 61 6e | 64 20 4a 61 76 61 20 4c |G IDL an|d Java L|
|00002fc0| 61 6e 67 75 61 67 65 73 | 3c 2f 48 32 3e 0a 0a 3c |anguages|</H2>..<|
|00002fd0| 50 3e 4f 4d 47 20 49 44 | 4c 20 69 73 20 74 68 65 |P>OMG ID|L is the|
|00002fe0| 20 6c 61 6e 67 75 61 67 | 65 20 69 6e 20 77 68 69 | languag|e in whi|
|00002ff0| 63 68 20 74 68 65 20 69 | 6e 74 65 72 66 61 63 65 |ch the i|nterface|
|00003000| 20 6f 66 20 61 20 43 4f | 52 42 41 20 6f 62 6a 65 | of a CO|RBA obje|
|00003010| 63 74 0a 74 79 70 65 20 | 69 73 20 64 65 66 69 6e |ct.type |is defin|
|00003020| 65 64 2e 20 4a 61 76 61 | 20 69 73 20 74 68 65 20 |ed. Java| is the |
|00003030| 6c 61 6e 67 75 61 67 65 | 20 74 68 61 74 20 4a 61 |language| that Ja|
|00003040| 76 61 20 49 44 4c 20 64 | 65 76 65 6c 6f 70 65 72 |va IDL d|eveloper|
|00003050| 73 20 75 73 65 20 74 6f | 0a 69 6e 76 6f 6b 65 20 |s use to|.invoke |
|00003060| 61 6e 64 20 69 6d 70 6c | 65 6d 65 6e 74 20 43 4f |and impl|ement CO|
|00003070| 52 42 41 20 6f 62 6a 65 | 63 74 73 2e 20 54 68 65 |RBA obje|cts. The|
|00003080| 20 63 6f 72 72 65 73 70 | 6f 6e 64 65 6e 63 65 20 | corresp|ondence |
|00003090| 62 65 74 77 65 65 6e 20 | 74 68 65 0a 74 77 6f 20 |between |the.two |
|000030a0| 6c 61 6e 67 75 61 67 65 | 73 20 69 73 20 63 61 6c |language|s is cal|
|000030b0| 6c 65 64 20 74 68 65 20 | 3c 49 3e 6d 61 70 70 69 |led the |<I>mappi|
|000030c0| 6e 67 3c 2f 49 3e 2c 20 | 61 6e 64 20 69 73 20 64 |ng</I>, |and is d|
|000030d0| 65 66 69 6e 65 64 20 69 | 6e 0a 3c 49 3e 3c 41 20 |efined i|n.<I><A |
|000030e0| 48 52 45 46 3d 22 69 64 | 6c 2d 6a 61 76 61 2e 68 |HREF="id|l-java.h|
|000030f0| 74 6d 6c 22 3e 4a 61 76 | 61 20 49 44 4c 20 4c 61 |tml">Jav|a IDL La|
|00003100| 6e 67 75 61 67 65 20 4d | 61 70 70 69 6e 67 3c 2f |nguage M|apping</|
|00003110| 41 3e 3c 2f 49 3e 2c 20 | 77 68 69 63 68 0a 68 61 |A></I>, |which.ha|
|00003120| 73 20 62 65 65 6e 20 73 | 75 62 6d 69 74 74 65 64 |s been s|ubmitted|
|00003130| 20 74 6f 20 74 68 65 20 | 4f 62 6a 65 63 74 20 4d | to the |Object M|
|00003140| 61 6e 61 67 65 6d 65 6e | 74 20 47 72 6f 75 70 2e |anagemen|t Group.|
|00003150| 20 54 68 69 73 20 73 65 | 63 74 69 6f 6e 0a 64 65 | This se|ction.de|
|00003160| 73 63 72 69 62 65 73 20 | 6a 75 73 74 20 74 68 65 |scribes |just the|
|00003170| 20 6d 61 69 6e 20 70 6f | 69 6e 74 73 20 6f 66 20 | main po|ints of |
|00003180| 74 68 65 20 49 44 4c 2d | 4a 61 76 61 20 6d 61 70 |the IDL-|Java map|
|00003190| 70 69 6e 67 2e 20 4e 6f | 74 65 20 74 68 61 74 20 |ping. No|te that |
|000031a0| 4f 4d 47 0a 49 44 4c 20 | 69 73 20 6c 69 6d 69 74 |OMG.IDL |is limit|
|000031b0| 65 64 20 74 6f 20 64 65 | 73 63 72 69 62 69 6e 67 |ed to de|scribing|
|000031c0| 20 69 6e 74 65 72 66 61 | 63 65 20 73 79 6e 74 61 | interfa|ce synta|
|000031d0| 78 2c 20 61 73 20 69 73 | 20 74 68 65 20 4a 61 76 |x, as is| the Jav|
|000031e0| 61 0a 3c 43 4f 44 45 3e | 69 6e 74 65 72 66 61 63 |a.<CODE>|interfac|
|000031f0| 65 3c 2f 43 4f 44 45 3e | 20 63 6f 6e 73 74 72 75 |e</CODE>| constru|
|00003200| 63 74 3b 20 73 65 6d 61 | 6e 74 69 63 73 20 28 77 |ct; sema|ntics (w|
|00003210| 68 61 74 20 6f 70 65 72 | 61 74 69 6f 6e 73 2f 6d |hat oper|ations/m|
|00003220| 65 74 68 6f 64 73 0a 6d | 65 61 6e 29 20 6d 75 73 |ethods.m|ean) mus|
|00003230| 74 20 62 65 20 65 78 70 | 72 65 73 73 65 64 20 69 |t be exp|ressed i|
|00003240| 6e 20 61 6e 6f 74 68 65 | 72 20 6c 61 6e 67 75 61 |n anothe|r langua|
|00003250| 67 65 2c 20 73 75 63 68 | 20 61 73 20 45 6e 67 6c |ge, such| as Engl|
|00003260| 69 73 68 2e 3c 2f 50 3e | 0a 0a 3c 50 3e 54 68 65 |ish.</P>|..<P>The|
|00003270| 20 66 6f 6c 6c 6f 77 69 | 6e 67 20 74 61 62 6c 65 | followi|ng table|
|00003280| 20 6c 69 73 74 73 20 74 | 68 65 20 6d 61 69 6e 20 | lists t|he main |
|00003290| 65 6c 65 6d 65 6e 74 73 | 20 6f 66 20 49 44 4c 20 |elements| of IDL |
|000032a0| 61 6e 64 20 74 68 65 69 | 72 0a 63 6f 72 72 65 73 |and thei|r.corres|
|000032b0| 70 6f 6e 64 65 6e 74 73 | 20 69 6e 20 4a 61 76 61 |pondents| in Java|
|000032c0| 2e 3c 2f 50 3e 0a 0a 3c | 50 3e 3c 54 41 42 4c 45 |.</P>..<|P><TABLE|
|000032d0| 20 42 4f 52 44 45 52 3d | 31 20 43 45 4c 4c 53 50 | BORDER=|1 CELLSP|
|000032e0| 41 43 49 4e 47 3d 30 20 | 43 45 4c 4c 50 41 44 44 |ACING=0 |CELLPADD|
|000032f0| 49 4e 47 3d 30 20 57 49 | 44 54 48 3d 22 31 30 30 |ING=0 WI|DTH="100|
|00003300| 25 22 3e 0a 20 20 20 3c | 54 52 3e 0a 20 20 20 20 |%">. <|TR>. |
|00003310| 20 20 3c 54 48 20 56 41 | 4c 49 47 4e 3d 74 6f 70 | <TH VA|LIGN=top|
|00003320| 3e 0a 20 20 20 20 20 20 | 20 20 20 3c 50 20 41 4c |>. | <P AL|
|00003330| 49 47 4e 3d 4c 45 46 54 | 3e 49 44 4c 20 43 6f 6e |IGN=LEFT|>IDL Con|
|00003340| 73 74 72 75 63 74 0a 20 | 20 20 20 20 20 3c 2f 54 |struct. | </T|
|00003350| 48 3e 3c 54 48 20 56 41 | 4c 49 47 4e 3d 74 6f 70 |H><TH VA|LIGN=top|
|00003360| 3e 0a 20 20 20 20 20 20 | 20 20 20 3c 50 20 41 4c |>. | <P AL|
|00003370| 49 47 4e 3d 4c 45 46 54 | 3e 4a 61 76 61 20 43 6f |IGN=LEFT|>Java Co|
|00003380| 6e 73 74 72 75 63 74 0a | 20 20 20 20 20 20 3c 2f |nstruct.| </|
|00003390| 54 48 3e 3c 2f 54 52 3e | 0a 20 20 20 3c 54 52 3e |TH></TR>|. <TR>|
|000033a0| 0a 20 20 20 20 20 20 3c | 54 44 3e 0a 20 20 20 20 |. <|TD>. |
|000033b0| 20 20 20 20 20 3c 50 3e | 6d 6f 64 75 6c 65 0a 20 | <P>|module. |
|000033c0| 20 20 20 20 20 3c 2f 54 | 44 3e 3c 54 44 3e 0a 20 | </T|D><TD>. |
|000033d0| 20 20 20 20 20 20 20 20 | 3c 50 3e 70 61 63 6b 61 | |<P>packa|
|000033e0| 67 65 0a 20 20 20 20 20 | 20 3c 2f 54 44 3e 3c 2f |ge. | </TD></|
|000033f0| 54 52 3e 0a 20 20 20 3c | 54 52 3e 0a 20 20 20 20 |TR>. <|TR>. |
|00003400| 20 20 3c 54 44 3e 0a 20 | 20 20 20 20 20 20 20 20 | <TD>. | |
|00003410| 3c 50 3e 69 6e 74 65 72 | 66 61 63 65 0a 20 20 20 |<P>inter|face. |
|00003420| 20 20 20 3c 2f 54 44 3e | 3c 54 44 3e 0a 20 20 20 | </TD>|<TD>. |
|00003430| 20 20 20 20 20 20 3c 50 | 3e 69 6e 74 65 72 66 61 | <P|>interfa|
|00003440| 63 65 2c 20 68 65 6c 70 | 65 72 20 63 6c 61 73 73 |ce, help|er class|
|00003450| 2c 20 68 6f 6c 64 65 72 | 20 63 6c 61 73 73 0a 20 |, holder| class. |
|00003460| 20 20 20 20 20 3c 2f 54 | 44 3e 3c 2f 54 52 3e 0a | </T|D></TR>.|
|00003470| 20 20 20 3c 54 52 3e 0a | 20 20 20 20 20 20 3c 54 | <TR>.| <T|
|00003480| 44 3e 0a 20 20 20 20 20 | 20 20 20 20 3c 50 3e 63 |D>. | <P>c|
|00003490| 6f 6e 73 74 61 6e 74 0a | 20 20 20 20 20 20 3c 2f |onstant.| </|
|000034a0| 54 44 3e 3c 54 44 3e 0a | 20 20 20 20 20 20 20 20 |TD><TD>.| |
|000034b0| 20 3c 50 3e 70 75 62 6c | 69 63 20 73 74 61 74 69 | <P>publ|ic stati|
|000034c0| 63 20 66 69 6e 61 6c 0a | 20 20 20 20 20 20 3c 2f |c final.| </|
|000034d0| 54 44 3e 3c 2f 54 52 3e | 0a 20 20 20 3c 54 52 3e |TD></TR>|. <TR>|
|000034e0| 0a 20 20 20 20 20 20 3c | 54 44 3e 0a 20 20 20 20 |. <|TD>. |
|000034f0| 20 20 20 20 20 3c 50 3e | 62 6f 6f 6c 65 61 6e 0a | <P>|boolean.|
|00003500| 20 20 20 20 20 20 3c 2f | 54 44 3e 3c 54 44 3e 0a | </|TD><TD>.|
|00003510| 20 20 20 20 20 20 20 20 | 20 3c 50 3e 62 6f 6f 6c | | <P>bool|
|00003520| 65 61 6e 0a 20 20 20 20 | 20 20 3c 2f 54 44 3e 3c |ean. | </TD><|
|00003530| 2f 54 52 3e 0a 20 20 20 | 3c 54 52 3e 0a 20 20 20 |/TR>. |<TR>. |
|00003540| 20 20 20 3c 54 44 3e 0a | 20 20 20 20 20 20 20 20 | <TD>.| |
|00003550| 20 3c 50 3e 63 68 61 72 | 2c 20 77 63 68 61 72 0a | <P>char|, wchar.|
|00003560| 20 20 20 20 20 20 3c 2f | 54 44 3e 3c 54 44 3e 0a | </|TD><TD>.|
|00003570| 20 20 20 20 20 20 20 20 | 20 3c 50 3e 63 68 61 72 | | <P>char|
|00003580| 0a 20 20 20 20 20 20 3c | 2f 54 44 3e 3c 2f 54 52 |. <|/TD></TR|
|00003590| 3e 0a 20 20 20 3c 54 52 | 3e 0a 20 20 20 20 20 20 |>. <TR|>. |
|000035a0| 3c 54 44 3e 0a 20 20 20 | 20 20 20 20 20 20 3c 50 |<TD>. | <P|
|000035b0| 3e 6f 63 74 65 74 0a 20 | 20 20 20 20 20 3c 2f 54 |>octet. | </T|
|000035c0| 44 3e 3c 54 44 3e 0a 20 | 20 20 20 20 20 20 20 20 |D><TD>. | |
|000035d0| 3c 50 3e 62 79 74 65 0a | 20 20 20 20 20 20 3c 2f |<P>byte.| </|
|000035e0| 54 44 3e 3c 2f 54 52 3e | 0a 20 20 20 3c 54 52 3e |TD></TR>|. <TR>|
|000035f0| 0a 20 20 20 20 20 20 3c | 54 44 3e 0a 20 20 20 20 |. <|TD>. |
|00003600| 20 20 20 20 20 3c 50 3e | 73 74 72 69 6e 67 2c 20 | <P>|string, |
|00003610| 77 73 74 72 69 6e 67 0a | 20 20 20 20 20 20 3c 2f |wstring.| </|
|00003620| 54 44 3e 3c 54 44 3e 0a | 20 20 20 20 20 20 20 20 |TD><TD>.| |
|00003630| 20 3c 50 3e 6a 61 76 61 | 2e 6c 61 6e 67 2e 53 74 | <P>java|.lang.St|
|00003640| 72 69 6e 67 0a 20 20 20 | 20 20 20 3c 2f 54 44 3e |ring. | </TD>|
|00003650| 3c 2f 54 52 3e 0a 20 20 | 20 3c 54 52 3e 0a 20 20 |</TR>. | <TR>. |
|00003660| 20 20 20 20 3c 54 44 3e | 0a 20 20 20 20 20 20 20 | <TD>|. |
|00003670| 20 20 3c 50 3e 73 68 6f | 72 74 2c 20 75 6e 73 69 | <P>sho|rt, unsi|
|00003680| 67 6e 65 64 20 73 68 6f | 72 74 0a 20 20 20 20 20 |gned sho|rt. |
|00003690| 20 3c 2f 54 44 3e 3c 54 | 44 3e 0a 20 20 20 20 20 | </TD><T|D>. |
|000036a0| 20 20 20 20 3c 50 3e 73 | 68 6f 72 74 0a 20 20 20 | <P>s|hort. |
|000036b0| 20 20 20 3c 2f 54 44 3e | 3c 2f 54 52 3e 0a 20 20 | </TD>|</TR>. |
|000036c0| 20 3c 54 52 3e 0a 20 20 | 20 20 20 20 3c 54 44 3e | <TR>. | <TD>|
|000036d0| 0a 20 20 20 20 20 20 20 | 20 20 3c 50 3e 6c 6f 6e |. | <P>lon|
|000036e0| 67 2c 20 75 6e 73 69 67 | 6e 65 64 20 6c 6f 6e 67 |g, unsig|ned long|
|000036f0| 0a 20 20 20 20 20 20 3c | 2f 54 44 3e 3c 54 44 3e |. <|/TD><TD>|
|00003700| 0a 20 20 20 20 20 20 20 | 20 20 3c 50 3e 69 6e 74 |. | <P>int|
|00003710| 0a 20 20 20 20 20 20 3c | 2f 54 44 3e 3c 2f 54 52 |. <|/TD></TR|
|00003720| 3e 0a 20 20 20 3c 54 52 | 3e 0a 20 20 20 20 20 20 |>. <TR|>. |
|00003730| 3c 54 44 3e 0a 20 20 20 | 20 20 20 20 20 20 3c 50 |<TD>. | <P|
|00003740| 3e 6c 6f 6e 67 20 6c 6f | 6e 67 2c 20 75 6e 73 69 |>long lo|ng, unsi|
|00003750| 67 6e 65 64 20 6c 6f 6e | 67 20 6c 6f 6e 67 0a 20 |gned lon|g long. |
|00003760| 20 20 20 20 20 3c 2f 54 | 44 3e 3c 54 44 3e 0a 20 | </T|D><TD>. |
|00003770| 20 20 20 20 20 20 20 20 | 3c 50 3e 6c 6f 6e 67 0a | |<P>long.|
|00003780| 20 20 20 20 20 20 3c 2f | 54 44 3e 3c 2f 54 52 3e | </|TD></TR>|
|00003790| 0a 20 20 20 3c 54 52 3e | 0a 20 20 20 20 20 20 3c |. <TR>|. <|
|000037a0| 54 44 3e 0a 20 20 20 20 | 20 20 20 20 20 3c 50 3e |TD>. | <P>|
|000037b0| 66 6c 6f 61 74 0a 20 20 | 20 20 20 20 3c 2f 54 44 |float. | </TD|
|000037c0| 3e 3c 54 44 3e 0a 20 20 | 20 20 20 20 20 20 20 3c |><TD>. | <|
|000037d0| 50 3e 66 6c 6f 61 74 0a | 20 20 20 20 20 20 3c 2f |P>float.| </|
|000037e0| 54 44 3e 3c 2f 54 52 3e | 0a 20 20 20 3c 54 52 3e |TD></TR>|. <TR>|
|000037f0| 0a 20 20 20 20 20 20 3c | 54 44 3e 0a 20 20 20 20 |. <|TD>. |
|00003800| 20 20 20 20 20 3c 50 3e | 64 6f 75 62 6c 65 0a 20 | <P>|double. |
|00003810| 20 20 20 20 20 3c 2f 54 | 44 3e 3c 54 44 3e 0a 20 | </T|D><TD>. |
|00003820| 20 20 20 20 20 20 20 20 | 3c 50 3e 64 6f 75 62 6c | |<P>doubl|
|00003830| 65 0a 20 20 20 20 20 20 | 3c 2f 54 44 3e 3c 2f 54 |e. |</TD></T|
|00003840| 52 3e 0a 20 20 20 3c 54 | 52 3e 0a 20 20 20 20 20 |R>. <T|R>. |
|00003850| 20 3c 54 44 3e 0a 20 20 | 20 20 20 20 20 20 20 3c | <TD>. | <|
|00003860| 50 3e 65 6e 75 6d 2c 20 | 73 74 72 75 63 74 2c 20 |P>enum, |struct, |
|00003870| 75 6e 69 6f 6e 0a 20 20 | 20 20 20 20 3c 2f 54 44 |union. | </TD|
|00003880| 3e 3c 54 44 3e 0a 20 20 | 20 20 20 20 20 20 20 3c |><TD>. | <|
|00003890| 50 3e 63 6c 61 73 73 0a | 20 20 20 20 20 20 3c 2f |P>class.| </|
|000038a0| 54 44 3e 3c 2f 54 52 3e | 0a 20 20 20 3c 54 52 3e |TD></TR>|. <TR>|
|000038b0| 0a 20 20 20 20 20 20 3c | 54 44 3e 0a 20 20 20 20 |. <|TD>. |
|000038c0| 20 20 20 20 20 3c 50 3e | 73 65 71 75 65 6e 63 65 | <P>|sequence|
|000038d0| 2c 20 61 72 72 61 79 0a | 20 20 20 20 20 20 3c 2f |, array.| </|
|000038e0| 54 44 3e 3c 54 44 3e 0a | 20 20 20 20 20 20 20 20 |TD><TD>.| |
|000038f0| 20 3c 50 3e 61 72 72 61 | 79 0a 20 20 20 20 20 20 | <P>arra|y. |
|00003900| 3c 2f 54 44 3e 3c 2f 54 | 52 3e 0a 20 20 20 3c 54 |</TD></T|R>. <T|
|00003910| 52 3e 0a 20 20 20 20 20 | 20 3c 54 44 3e 0a 20 20 |R>. | <TD>. |
|00003920| 20 20 20 20 20 20 20 3c | 50 3e 65 78 63 65 70 74 | <|P>except|
|00003930| 69 6f 6e 0a 20 20 20 20 | 20 20 3c 2f 54 44 3e 3c |ion. | </TD><|
|00003940| 54 44 3e 0a 20 20 20 20 | 20 20 20 20 20 3c 50 3e |TD>. | <P>|
|00003950| 63 6c 61 73 73 0a 20 20 | 20 20 20 20 3c 2f 54 44 |class. | </TD|
|00003960| 3e 3c 2f 54 52 3e 0a 20 | 20 20 3c 54 52 3e 0a 20 |></TR>. | <TR>. |
|00003970| 20 20 20 20 20 3c 54 44 | 3e 0a 20 20 20 20 20 20 | <TD|>. |
|00003980| 20 20 20 3c 50 3e 61 74 | 74 72 69 62 75 74 65 0a | <P>at|tribute.|
|00003990| 20 20 20 20 20 20 3c 2f | 54 44 3e 3c 54 44 3e 0a | </|TD><TD>.|
|000039a0| 20 20 20 20 20 20 20 20 | 20 3c 50 3e 6d 65 74 68 | | <P>meth|
|000039b0| 6f 64 0a 20 20 20 20 20 | 20 3c 2f 54 44 3e 3c 2f |od. | </TD></|
|000039c0| 54 52 3e 0a 3c 2f 54 41 | 42 4c 45 3e 3c 2f 50 3e |TR>.</TA|BLE></P>|
|000039d0| 0a 0a 3c 50 3e 0a 3c 48 | 52 3e 0a 4e 6f 74 65 3a |..<P>.<H|R>.Note:|
|000039e0| 20 57 68 65 6e 20 61 20 | 43 4f 52 42 41 20 6f 70 | When a |CORBA op|
|000039f0| 65 72 61 74 69 6f 6e 20 | 74 61 6b 65 73 20 61 20 |eration |takes a |
|00003a00| 74 79 70 65 20 74 68 61 | 74 20 63 6f 72 72 65 73 |type tha|t corres|
|00003a10| 70 6f 6e 64 73 20 74 6f | 20 61 20 4a 61 76 61 0a |ponds to| a Java.|
|00003a20| 6f 62 6a 65 63 74 20 28 | 61 20 3c 54 54 3e 73 74 |object (|a <TT>st|
|00003a30| 72 69 6e 67 3c 2f 54 54 | 3e 2c 20 66 6f 72 20 65 |ring</TT|>, for e|
|00003a40| 78 61 6d 70 6c 65 29 2c | 20 69 74 20 69 73 20 69 |xample),| it is i|
|00003a50| 6c 6c 65 67 61 6c 20 74 | 6f 20 70 61 73 73 20 61 |llegal t|o pass a|
|00003a60| 20 4a 61 76 61 0a 6e 75 | 6c 6c 20 61 73 20 74 68 | Java.nu|ll as th|
|00003a70| 65 20 70 61 72 61 6d 65 | 74 65 72 20 76 61 6c 75 |e parame|ter valu|
|00003a80| 65 2e 20 49 6e 73 74 65 | 61 64 2c 20 70 61 73 73 |e. Inste|ad, pass|
|00003a90| 20 61 6e 20 65 6d 70 74 | 79 20 76 65 72 73 69 6f | an empt|y versio|
|00003aa0| 6e 20 6f 66 20 74 68 65 | 0a 64 65 73 69 67 6e 61 |n of the|.designa|
|00003ab0| 74 65 64 20 6f 62 6a 65 | 63 74 20 74 79 70 65 20 |ted obje|ct type |
|00003ac0| 28 65 2e 67 2e 2c 20 61 | 6e 20 65 6d 70 74 79 20 |(e.g., a|n empty |
|00003ad0| 3c 54 54 3e 53 74 72 69 | 6e 67 3c 2f 54 54 3e 20 |<TT>Stri|ng</TT> |
|00003ae0| 6f 72 20 61 72 72 61 79 | 29 2e 20 41 0a 4a 61 76 |or array|). A.Jav|
|00003af0| 61 20 6e 75 6c 6c 20 6f | 6e 6c 79 20 63 61 6e 20 |a null o|nly can |
|00003b00| 62 65 20 70 61 73 73 65 | 64 20 61 73 20 61 20 70 |be passe|d as a p|
|00003b10| 61 72 61 6d 65 74 65 72 | 20 77 68 6f 73 65 20 74 |arameter| whose t|
|00003b20| 79 70 65 20 69 73 20 61 | 20 43 4f 52 42 41 0a 6f |ype is a| CORBA.o|
|00003b30| 62 6a 65 63 74 20 72 65 | 66 65 72 65 6e 63 65 2c |bject re|ference,|
|00003b40| 20 69 6e 20 77 68 69 63 | 68 20 63 61 73 65 20 74 | in whic|h case t|
|00003b50| 68 65 20 6e 75 6c 6c 20 | 69 73 20 69 6e 74 65 72 |he null |is inter|
|00003b60| 70 72 65 74 65 64 20 61 | 73 20 61 20 6e 69 6c 0a |preted a|s a nil.|
|00003b70| 43 4f 52 42 41 20 6f 62 | 6a 65 63 74 20 72 65 66 |CORBA ob|ject ref|
|00003b80| 65 72 65 6e 63 65 2e 3c | 2f 50 3e 0a 0a 3c 50 3e |erence.<|/P>..<P>|
|00003b90| 0a 3c 48 52 3e 0a 3c 2f | 50 3e 0a 0a 3c 48 32 3e |.<HR>.</|P>..<H2>|
|00003ba0| 43 4f 52 42 41 20 61 6e | 64 20 4a 61 76 61 20 4f |CORBA an|d Java O|
|00003bb0| 62 6a 65 63 74 20 4d 6f | 64 65 6c 73 3c 2f 48 32 |bject Mo|dels</H2|
|00003bc0| 3e 0a 0a 3c 50 3e 41 74 | 20 74 68 65 20 6c 65 76 |>..<P>At| the lev|
|00003bd0| 65 6c 20 6f 66 20 69 6e | 76 6f 6b 69 6e 67 20 61 |el of in|voking a|
|00003be0| 6e 20 6f 70 65 72 61 74 | 69 6f 6e 2f 6d 65 74 68 |n operat|ion/meth|
|00003bf0| 6f 64 2c 20 61 20 43 4f | 52 42 41 20 6f 62 6a 65 |od, a CO|RBA obje|
|00003c00| 63 74 20 6c 6f 6f 6b 73 | 0a 61 6e 64 20 62 65 68 |ct looks|.and beh|
|00003c10| 61 76 65 73 20 6d 75 63 | 68 20 6c 69 6b 65 20 61 |aves muc|h like a|
|00003c20| 20 4a 61 76 61 20 6f 62 | 6a 65 63 74 2e 20 54 68 | Java ob|ject. Th|
|00003c30| 65 20 49 44 4c 2d 4a 61 | 76 61 20 6d 61 70 70 69 |e IDL-Ja|va mappi|
|00003c40| 6e 67 20 61 6e 64 20 74 | 68 65 0a 73 74 75 62 73 |ng and t|he.stubs|
|00003c50| 20 6d 61 73 6b 20 6d 61 | 6e 79 20 6f 66 20 74 68 | mask ma|ny of th|
|00003c60| 65 20 69 6e 68 65 72 65 | 6e 74 20 64 69 66 66 65 |e inhere|nt diffe|
|00003c70| 72 65 6e 63 65 73 2e 20 | 48 6f 77 65 76 65 72 2c |rences. |However,|
|00003c80| 20 74 68 65 72 65 20 61 | 72 65 20 73 6f 6d 65 0a | there a|re some.|
|00003c90| 66 75 6e 64 61 6d 65 6e | 74 61 6c 20 64 69 66 66 |fundamen|tal diff|
|00003ca0| 65 72 65 6e 63 65 73 20 | 74 68 61 74 20 74 68 65 |erences |that the|
|00003cb0| 20 49 44 4c 2d 4a 61 76 | 61 20 6d 61 70 70 69 6e | IDL-Jav|a mappin|
|00003cc0| 67 20 61 6e 64 20 73 74 | 75 62 73 20 63 61 6e 6e |g and st|ubs cann|
|00003cd0| 6f 74 0a 68 69 64 65 2e | 20 54 68 65 73 65 20 64 |ot.hide.| These d|
|00003ce0| 69 66 66 65 72 65 6e 63 | 65 73 20 64 65 72 69 76 |ifferenc|es deriv|
|00003cf0| 65 20 6d 61 69 6e 6c 79 | 20 66 72 6f 6d 20 74 68 |e mainly| from th|
|00003d00| 65 20 66 61 63 74 20 74 | 68 61 74 20 43 4f 52 42 |e fact t|hat CORB|
|00003d10| 41 0a 6f 62 6a 65 63 74 | 73 20 61 72 65 20 70 6f |A.object|s are po|
|00003d20| 74 65 6e 74 69 61 6c 6c | 79 20 73 68 61 72 65 64 |tentiall|y shared|
|00003d30| 20 61 6e 64 20 64 69 73 | 74 72 69 62 75 74 65 64 | and dis|tributed|
|00003d40| 20 61 63 72 6f 73 73 20 | 61 20 6e 65 74 77 6f 72 | across |a networ|
|00003d50| 6b 2c 0a 77 68 65 72 65 | 61 73 20 4a 61 76 61 20 |k,.where|as Java |
|00003d60| 6f 62 6a 65 63 74 73 20 | 61 72 65 20 70 72 69 76 |objects |are priv|
|00003d70| 61 74 65 20 74 6f 20 61 | 6e 20 61 64 64 72 65 73 |ate to a|n addres|
|00003d80| 73 20 73 70 61 63 65 2e | 3c 2f 50 3e 0a 0a 3c 48 |s space.|</P>..<H|
|00003d90| 33 3e 3c 41 20 4e 41 4d | 45 3d 22 4f 62 74 61 69 |3><A NAM|E="Obtai|
|00003da0| 6e 69 6e 67 4f 62 6a 72 | 65 66 73 22 3e 3c 2f 41 |ningObjr|efs"></A|
|00003db0| 3e 4f 62 74 61 69 6e 69 | 6e 67 20 4f 62 6a 65 63 |>Obtaini|ng Objec|
|00003dc0| 74 20 52 65 66 65 72 65 | 6e 63 65 73 3c 2f 48 33 |t Refere|nces</H3|
|00003dd0| 3e 0a 0a 3c 50 3e 54 6f | 20 69 6e 76 6f 6b 65 20 |>..<P>To| invoke |
|00003de0| 61 20 43 4f 52 42 41 20 | 6f 62 6a 65 63 74 2c 20 |a CORBA |object, |
|00003df0| 79 6f 75 20 6e 65 65 64 | 20 61 20 72 65 66 65 72 |you need| a refer|
|00003e00| 65 6e 63 65 20 66 6f 72 | 20 74 68 65 20 6f 62 6a |ence for| the obj|
|00003e10| 65 63 74 2e 0a 54 68 65 | 72 65 20 61 72 65 20 74 |ect..The|re are t|
|00003e20| 77 6f 20 77 61 79 73 20 | 74 6f 20 67 65 74 20 61 |wo ways |to get a|
|00003e30| 20 72 65 66 65 72 65 6e | 63 65 20 66 6f 72 20 61 | referen|ce for a|
|00003e40| 20 43 4f 52 42 41 20 6f | 62 6a 65 63 74 3a 3c 2f | CORBA o|bject:</|
|00003e50| 50 3e 0a 0a 3c 4f 4c 3e | 0a 20 20 20 3c 4c 49 3e |P>..<OL>|. <LI>|
|00003e60| 66 72 6f 6d 20 61 6e 6f | 74 68 65 72 20 6f 62 6a |from ano|ther obj|
|00003e70| 65 63 74 2c 20 73 75 63 | 68 20 61 73 20 61 20 66 |ect, suc|h as a f|
|00003e80| 61 63 74 6f 72 79 20 6f | 72 20 61 20 6e 61 6d 65 |actory o|r a name|
|00003e90| 20 73 65 72 76 69 63 65 | 0a 20 20 20 0a 20 20 20 | service|. . |
|00003ea0| 3c 4c 49 3e 66 72 6f 6d | 20 61 20 73 74 72 69 6e |<LI>from| a strin|
|00003eb0| 67 20 74 68 61 74 20 77 | 61 73 20 73 70 65 63 69 |g that w|as speci|
|00003ec0| 61 6c 6c 79 20 63 72 65 | 61 74 65 64 20 66 72 6f |ally cre|ated fro|
|00003ed0| 6d 20 61 6e 20 6f 62 6a | 65 63 74 0a 20 20 20 72 |m an obj|ect. r|
|00003ee0| 65 66 65 72 65 6e 63 65 | 0a 3c 2f 4f 4c 3e 0a 0a |eference|.</OL>..|
|00003ef0| 3c 50 3e 49 74 27 73 20 | 63 6f 6d 6d 6f 6e 20 74 |<P>It's |common t|
|00003f00| 6f 20 65 6e 63 6f 75 6e | 74 65 72 20 43 4f 52 42 |o encoun|ter CORB|
|00003f10| 41 20 6f 62 6a 65 63 74 | 73 20 77 68 6f 73 65 20 |A object|s whose |
|00003f20| 6f 70 65 72 61 74 69 6f | 6e 73 20 72 65 74 75 72 |operatio|ns retur|
|00003f30| 6e 0a 72 65 66 65 72 65 | 6e 63 65 73 20 74 6f 20 |n.refere|nces to |
|00003f40| 6f 74 68 65 72 20 6f 62 | 6a 65 63 74 73 2e 20 41 |other ob|jects. A|
|00003f50| 20 66 61 63 74 6f 72 79 | 20 6f 62 6a 65 63 74 20 | factory| object |
|00003f60| 69 73 20 6f 6e 65 20 65 | 78 61 6d 70 6c 65 2e 20 |is one e|xample. |
|00003f70| 53 75 70 70 6f 73 65 0a | 74 68 65 72 65 20 69 73 |Suppose.|there is|
|00003f80| 20 61 20 43 4f 52 42 41 | 20 6f 62 6a 65 63 74 20 | a CORBA| object |
|00003f90| 74 79 70 65 20 3c 43 4f | 44 45 3e 49 6e 74 53 74 |type <CO|DE>IntSt|
|00003fa0| 61 63 6b 46 61 63 74 6f | 72 79 3c 2f 43 4f 44 45 |ackFacto|ry</CODE|
|00003fb0| 3e 20 74 68 61 74 0a 70 | 72 6f 76 69 64 65 73 20 |> that.p|rovides |
|00003fc0| 61 20 3c 43 4f 44 45 3e | 63 72 65 61 74 65 28 29 |a <CODE>|create()|
|00003fd0| 3c 2f 43 4f 44 45 3e 20 | 6f 70 65 72 61 74 69 6f |</CODE> |operatio|
|00003fe0| 6e 20 61 73 20 73 68 6f | 77 6e 20 69 6e 20 74 68 |n as sho|wn in th|
|00003ff0| 65 20 66 6f 6c 6c 6f 77 | 69 6e 67 0a 4f 4d 47 20 |e follow|ing.OMG |
|00004000| 49 44 4c 3a 3c 2f 50 3e | 0a 0a 3c 42 4c 4f 43 4b |IDL:</P>|..<BLOCK|
|00004010| 51 55 4f 54 45 3e 3c 50 | 3e 3c 43 4f 44 45 3e 6d |QUOTE><P|><CODE>m|
|00004020| 6f 64 75 6c 65 20 49 6e | 74 65 67 65 72 53 74 61 |odule In|tegerSta|
|00004030| 63 6b 20 7b 3c 42 52 3e | 0a 0a 69 6e 74 65 72 66 |ck {<BR>|..interf|
|00004040| 61 63 65 20 49 6e 74 53 | 74 61 63 6b 20 7b 3c 42 |ace IntS|tack {<B|
|00004050| 52 3e 0a 0a 2f 2f 20 70 | 75 73 68 2c 20 70 6f 70 |R>..// p|ush, pop|
|00004060| 2c 20 65 74 63 2e 3c 42 | 52 3e 0a 0a 7d 3c 42 52 |, etc.<B|R>..}<BR|
|00004070| 3e 0a 0a 69 6e 74 65 72 | 66 61 63 65 20 49 6e 74 |>..inter|face Int|
|00004080| 53 74 61 63 6b 46 61 63 | 74 6f 72 79 20 7b 3c 42 |StackFac|tory {<B|
|00004090| 52 3e 0a 0a 49 6e 74 53 | 74 61 63 6b 20 63 72 65 |R>..IntS|tack cre|
|000040a0| 61 74 65 20 28 29 3b 3c | 42 52 3e 0a 0a 7d 3c 2f |ate ();<|BR>..}</|
|000040b0| 43 4f 44 45 3e 3c 2f 50 | 3e 3c 2f 42 4c 4f 43 4b |CODE></P|></BLOCK|
|000040c0| 51 55 4f 54 45 3e 0a 0a | 3c 50 3e 54 68 65 20 66 |QUOTE>..|<P>The f|
|000040d0| 6f 6c 6c 6f 77 69 6e 67 | 20 4a 61 76 61 20 66 72 |ollowing| Java fr|
|000040e0| 61 67 6d 65 6e 74 20 64 | 69 72 65 63 74 73 20 61 |agment d|irects a|
|000040f0| 20 73 74 61 63 6b 20 66 | 61 63 74 6f 72 79 20 74 | stack f|actory t|
|00004100| 6f 20 72 65 74 75 72 6e | 20 61 0a 72 65 66 65 72 |o return| a.refer|
|00004110| 65 6e 63 65 20 74 6f 20 | 61 20 6e 65 77 20 43 4f |ence to |a new CO|
|00004120| 52 42 41 20 73 74 61 63 | 6b 20 6f 62 6a 65 63 74 |RBA stac|k object|
|00004130| 2e 3c 2f 50 3e 0a 0a 3c | 42 4c 4f 43 4b 51 55 4f |.</P>..<|BLOCKQUO|
|00004140| 54 45 3e 3c 50 3e 3c 43 | 4f 44 45 3e 49 6e 74 53 |TE><P><C|ODE>IntS|
|00004150| 74 61 63 6b 20 73 74 61 | 63 6b 31 20 3d 20 61 6e |tack sta|ck1 = an|
|00004160| 49 6e 74 53 74 61 63 6b | 46 61 63 74 6f 72 79 2e |IntStack|Factory.|
|00004170| 63 72 65 61 74 65 28 29 | 3b 0a 3c 2f 43 4f 44 45 |create()|;.</CODE|
|00004180| 3e 3c 2f 50 3e 3c 2f 42 | 4c 4f 43 4b 51 55 4f 54 |></P></B|LOCKQUOT|
|00004190| 45 3e 0a 0a 3c 50 3e 57 | 69 64 65 6c 79 20 75 73 |E>..<P>W|idely us|
|000041a0| 65 64 20 43 4f 52 42 41 | 20 6f 62 6a 65 63 74 73 |ed CORBA| objects|
|000041b0| 2c 20 73 75 63 68 20 61 | 73 20 66 61 63 74 6f 72 |, such a|s factor|
|000041c0| 69 65 73 2c 20 61 72 65 | 20 6f 66 74 65 6e 20 72 |ies, are| often r|
|000041d0| 65 67 69 73 74 65 72 65 | 64 0a 62 79 20 77 65 6c |egistere|d.by wel|
|000041e0| 6c 2d 6b 6e 6f 77 6e 20 | 6e 61 6d 65 73 20 69 6e |l-known |names in|
|000041f0| 20 43 4f 52 42 41 2d 64 | 65 66 69 6e 65 64 20 6f | CORBA-d|efined o|
|00004200| 62 6a 65 63 74 73 20 63 | 61 6c 6c 65 64 0a 3c 41 |bjects c|alled.<A|
|00004210| 20 48 52 45 46 3d 22 6e | 61 6d 69 6e 67 2e 68 74 | HREF="n|aming.ht|
|00004220| 6d 6c 22 3e 6e 61 6d 69 | 6e 67 20 63 6f 6e 74 65 |ml">nami|ng conte|
|00004230| 78 74 73 3c 2f 41 3e 2e | 20 4e 61 6d 69 6e 67 20 |xts</A>.| Naming |
|00004240| 63 6f 6e 74 65 78 74 73 | 20 61 72 65 0a 64 69 72 |contexts| are.dir|
|00004250| 65 63 74 6f 72 79 2d 6c | 69 6b 65 20 6f 62 6a 65 |ectory-l|ike obje|
|00004260| 63 74 73 20 74 68 61 74 | 20 63 6f 6e 74 61 69 6e |cts that| contain|
|00004270| 20 73 65 74 73 20 6f 66 | 20 6e 61 6d 65 2d 6f 62 | sets of| name-ob|
|00004280| 6a 65 63 74 20 62 69 6e | 64 69 6e 67 73 2e 0a 50 |ject bin|dings..P|
|00004290| 61 73 73 20 61 20 72 65 | 67 69 73 74 65 72 65 64 |ass a re|gistered|
|000042a0| 20 6f 62 6a 65 63 74 27 | 73 20 6e 61 6d 65 20 74 | object'|s name t|
|000042b0| 6f 20 61 20 63 6f 6e 74 | 65 78 74 27 73 20 3c 54 |o a cont|ext's <T|
|000042c0| 54 3e 72 65 73 6f 6c 76 | 65 28 29 3c 2f 54 54 3e |T>resolv|e()</TT>|
|000042d0| 0a 6f 70 65 72 61 74 69 | 6f 6e 2c 20 61 6e 64 20 |.operati|on, and |
|000042e0| 74 68 65 20 63 6f 6e 74 | 65 78 74 20 72 65 74 75 |the cont|ext retu|
|000042f0| 72 6e 73 20 61 20 72 65 | 66 65 72 65 6e 63 65 20 |rns a re|ference |
|00004300| 74 6f 20 74 68 65 20 6f | 62 6a 65 63 74 2e 3c 2f |to the o|bject.</|
|00004310| 50 3e 0a 0a 3c 50 3e 59 | 6f 75 20 63 61 6e 20 63 |P>..<P>Y|ou can c|
|00004320| 72 65 61 74 65 20 61 20 | 73 74 72 69 6e 67 20 66 |reate a |string f|
|00004330| 72 6f 6d 20 61 6e 20 6f | 62 6a 65 63 74 20 72 65 |rom an o|bject re|
|00004340| 66 65 72 65 6e 63 65 3b | 20 74 68 65 20 72 65 73 |ference;| the res|
|00004350| 75 6c 74 20 69 73 0a 63 | 61 6c 6c 65 64 20 3c 49 |ult is.c|alled <I|
|00004360| 3e 73 74 72 69 6e 67 69 | 66 69 65 64 3c 2f 49 3e |>stringi|fied</I>|
|00004370| 20 6f 62 6a 65 63 74 20 | 72 65 66 65 72 65 6e 63 | object |referenc|
|00004380| 65 2e 20 59 6f 75 20 63 | 61 6e 20 61 6c 73 6f 20 |e. You c|an also |
|00004390| 64 6f 20 74 68 65 0a 72 | 65 76 65 72 73 65 2c 20 |do the.r|everse, |
|000043a0| 63 72 65 61 74 65 20 61 | 6e 20 6f 62 6a 65 63 74 |create a|n object|
|000043b0| 20 72 65 66 65 72 65 6e | 63 65 20 66 72 6f 6d 20 | referen|ce from |
|000043c0| 61 20 73 74 72 69 6e 67 | 69 66 69 65 64 20 72 65 |a string|ified re|
|000043d0| 66 65 72 65 6e 63 65 2e | 20 46 6f 72 0a 65 78 61 |ference.| For.exa|
|000043e0| 6d 70 6c 65 3a 3c 2f 50 | 3e 0a 0a 3c 42 4c 4f 43 |mple:</P|>..<BLOC|
|000043f0| 4b 51 55 4f 54 45 3e 3c | 50 52 45 3e 3c 43 4f 44 |KQUOTE><|PRE><COD|
|00004400| 45 3e 53 74 72 69 6e 67 | 20 73 74 72 69 6e 67 69 |E>String| stringi|
|00004410| 66 69 65 64 52 65 66 20 | 3d 20 4f 52 42 2e 6f 62 |fiedRef |= ORB.ob|
|00004420| 6a 65 63 74 5f 74 6f 5f | 73 74 72 69 6e 67 28 6f |ject_to_|string(o|
|00004430| 62 6a 29 3b 0a 6f 72 67 | 2e 6f 6d 67 2e 43 4f 52 |bj);.org|.omg.COR|
|00004440| 42 41 2e 4f 62 6a 65 63 | 74 20 6f 62 6a 20 3d 20 |BA.Objec|t obj = |
|00004450| 0a 20 20 20 4f 52 42 2e | 73 74 72 69 6e 67 5f 74 |. ORB.|string_t|
|00004460| 6f 5f 6f 62 6a 65 63 74 | 28 73 74 72 69 6e 67 69 |o_object|(stringi|
|00004470| 66 69 65 64 52 65 66 29 | 3b 20 3c 2f 43 4f 44 45 |fiedRef)|; </CODE|
|00004480| 3e 3c 2f 50 52 45 3e 3c | 2f 42 4c 4f 43 4b 51 55 |></PRE><|/BLOCKQU|
|00004490| 4f 54 45 3e 0a 0a 3c 50 | 3e 4f 62 74 61 69 6e 69 |OTE>..<P|>Obtaini|
|000044a0| 6e 67 20 61 6e 20 3c 43 | 4f 44 45 3e 6f 72 62 3c |ng an <C|ODE>orb<|
|000044b0| 2f 43 4f 44 45 3e 20 6f | 62 6a 65 63 74 20 61 6e |/CODE> o|bject an|
|000044c0| 64 20 61 6e 20 69 6e 69 | 74 69 61 6c 20 6e 61 6d |d an ini|tial nam|
|000044d0| 69 6e 67 20 63 6f 6e 74 | 65 78 74 0a 61 72 65 20 |ing cont|ext.are |
|000044e0| 64 65 73 63 72 69 62 65 | 64 20 69 6e 20 3c 41 20 |describe|d in <A |
|000044f0| 48 52 45 46 3d 22 69 6e | 69 74 69 61 6c 69 7a 61 |HREF="in|itializa|
|00004500| 74 69 6f 6e 2e 68 74 6d | 6c 22 3e 49 6e 69 74 69 |tion.htm|l">Initi|
|00004510| 61 6c 69 7a 61 74 69 6f | 6e 3c 2f 41 3e 2e 0a 4e |alizatio|n</A>..N|
|00004520| 6f 74 65 20 74 68 61 74 | 20 61 6e 20 6f 62 6a 65 |ote that| an obje|
|00004530| 63 74 20 72 65 66 65 72 | 65 6e 63 65 20 63 72 65 |ct refer|ence cre|
|00004540| 61 74 65 64 20 66 72 6f | 6d 20 61 20 73 74 72 69 |ated fro|m a stri|
|00004550| 6e 67 20 68 61 73 20 74 | 68 65 20 74 79 70 65 0a |ng has t|he type.|
|00004560| 3c 43 4f 44 45 3e 6f 72 | 67 2e 6f 6d 67 2e 43 4f |<CODE>or|g.omg.CO|
|00004570| 52 42 41 2e 4f 62 6a 65 | 63 74 3c 2f 43 4f 44 45 |RBA.Obje|ct</CODE|
|00004580| 3e 3b 20 69 74 20 6d 75 | 73 74 20 62 65 0a 3c 41 |>; it mu|st be.<A|
|00004590| 20 48 52 45 46 3d 22 23 | 4e 61 72 72 6f 77 69 6e | HREF="#|Narrowin|
|000045a0| 67 22 3e 6e 61 72 72 6f | 77 65 64 3c 2f 41 3e 20 |g">narro|wed</A> |
|000045b0| 74 6f 20 75 73 65 20 69 | 74 20 61 73 20 69 74 73 |to use i|t as its|
|000045c0| 20 72 65 61 6c 20 74 79 | 70 65 2e 3c 2f 50 3e 0a | real ty|pe.</P>.|
|000045d0| 0a 3c 48 33 3e 3c 41 20 | 4e 41 4d 45 3d 22 4e 61 |.<H3><A |NAME="Na|
|000045e0| 72 72 6f 77 69 6e 67 22 | 3e 3c 2f 41 3e 4e 61 72 |rrowing"|></A>Nar|
|000045f0| 72 6f 77 69 6e 67 3c 2f | 48 33 3e 0a 0a 3c 50 3e |rowing</|H3>..<P>|
|00004600| 4f 4d 47 20 49 44 4c 20 | 73 75 70 70 6f 72 74 73 |OMG IDL |supports|
|00004610| 20 69 6e 68 65 72 69 74 | 61 6e 63 65 3b 20 74 68 | inherit|ance; th|
|00004620| 65 20 74 6f 70 20 6f 66 | 20 74 68 65 20 68 69 65 |e top of| the hie|
|00004630| 72 61 72 63 68 79 20 69 | 73 0a 3c 43 4f 44 45 3e |rarchy i|s.<CODE>|
|00004640| 4f 62 6a 65 63 74 3c 2f | 43 4f 44 45 3e 20 69 6e |Object</|CODE> in|
|00004650| 20 4f 4d 47 20 49 44 4c | 2c 20 3c 43 4f 44 45 3e | OMG IDL|, <CODE>|
|00004660| 6f 72 67 2e 6f 6d 67 2e | 43 4f 52 42 41 2e 4f 62 |org.omg.|CORBA.Ob|
|00004670| 6a 65 63 74 3c 2f 43 4f | 44 45 3e 20 69 6e 0a 4a |ject</CO|DE> in.J|
|00004680| 61 76 61 2e 20 28 4e 6f | 74 65 20 74 68 61 74 20 |ava. (No|te that |
|00004690| 62 6f 74 68 20 43 4f 52 | 42 41 20 61 6e 64 20 4a |both COR|BA and J|
|000046a0| 61 76 61 20 64 65 66 69 | 6e 65 20 4f 62 6a 65 63 |ava defi|ne Objec|
|000046b0| 74 2c 20 62 75 74 20 74 | 68 65 79 20 61 72 65 20 |t, but t|hey are |
|000046c0| 74 68 65 0a 74 6f 70 73 | 20 6f 66 20 64 69 66 66 |the.tops| of diff|
|000046d0| 65 72 65 6e 74 20 74 79 | 70 65 20 68 69 65 72 61 |erent ty|pe hiera|
|000046e0| 72 63 68 69 65 73 2e 29 | 20 53 6f 6d 65 20 6f 70 |rchies.)| Some op|
|000046f0| 65 72 61 74 69 6f 6e 73 | 2c 20 6e 6f 74 61 62 6c |erations|, notabl|
|00004700| 79 20 6e 61 6d 65 0a 6c | 6f 6f 6b 75 70 20 61 6e |y name.l|ookup an|
|00004710| 64 20 75 6e 73 74 72 69 | 6e 67 69 66 79 69 6e 67 |d unstri|ngifying|
|00004720| 2c 20 72 65 74 75 72 6e | 20 3c 43 4f 44 45 3e 6f |, return| <CODE>o|
|00004730| 72 67 2e 6f 6d 67 2e 43 | 4f 52 42 41 2e 4f 62 6a |rg.omg.C|ORBA.Obj|
|00004740| 65 63 74 73 3c 2f 43 4f | 44 45 3e 2c 0a 77 68 69 |ects</CO|DE>,.whi|
|00004750| 63 68 20 79 6f 75 20 6e | 61 72 72 6f 77 20 28 75 |ch you n|arrow (u|
|00004760| 73 69 6e 67 20 61 20 68 | 65 6c 70 65 72 20 63 6c |sing a h|elper cl|
|00004770| 61 73 73 20 67 65 6e 65 | 72 61 74 65 64 20 62 79 |ass gene|rated by|
|00004780| 0a 3c 43 4f 44 45 3e 69 | 64 6c 74 6f 6a 61 76 61 |.<CODE>i|dltojava|
|00004790| 3c 2f 43 4f 44 45 3e 29 | 20 74 6f 20 74 68 65 20 |</CODE>)| to the |
|000047a0| 64 65 72 69 76 65 64 20 | 74 79 70 65 20 79 6f 75 |derived |type you|
|000047b0| 20 77 61 6e 74 20 74 68 | 65 20 6f 62 6a 65 63 74 | want th|e object|
|000047c0| 20 74 6f 0a 62 65 2e 20 | 43 4f 52 42 41 20 6f 62 | to.be. |CORBA ob|
|000047d0| 6a 65 63 74 73 20 6d 75 | 73 74 20 62 65 20 65 78 |jects mu|st be ex|
|000047e0| 70 6c 69 63 69 74 6c 79 | 20 6e 61 72 72 6f 77 65 |plicitly| narrowe|
|000047f0| 64 20 62 65 63 61 75 73 | 65 20 74 68 65 20 4a 61 |d becaus|e the Ja|
|00004800| 76 61 0a 72 75 6e 74 69 | 6d 65 20 63 61 6e 6e 6f |va.runti|me canno|
|00004810| 74 20 61 6c 77 61 79 73 | 20 6b 6e 6f 77 20 74 68 |t always| know th|
|00004820| 65 20 65 78 61 63 74 20 | 74 79 70 65 20 6f 66 20 |e exact |type of |
|00004830| 61 20 43 4f 52 42 41 20 | 6f 62 6a 65 63 74 2e 20 |a CORBA |object. |
|00004840| 3c 2f 50 3e 0a 0a 3c 50 | 3e 46 6f 72 20 65 78 61 |</P>..<P|>For exa|
|00004850| 6d 70 6c 65 2c 20 69 66 | 20 61 6e 20 61 70 70 6c |mple, if| an appl|
|00004860| 69 63 61 74 69 6f 6e 20 | 6b 6e 6f 77 73 20 74 68 |ication |knows th|
|00004870| 65 20 43 4f 52 42 41 20 | 6f 62 6a 65 63 74 20 3c |e CORBA |object <|
|00004880| 54 54 3e 6f 62 6a 3c 2f | 54 54 3e 0a 6f 62 74 61 |TT>obj</|TT>.obta|
|00004890| 69 6e 65 64 20 61 62 6f | 76 65 20 62 79 20 75 6e |ined abo|ve by un|
|000048a0| 73 74 72 69 6e 67 69 66 | 79 69 6e 67 20 69 73 20 |stringif|ying is |
|000048b0| 69 6e 20 66 61 63 74 20 | 61 6e 20 3c 54 54 3e 49 |in fact |an <TT>I|
|000048c0| 6e 74 53 74 61 63 6b 3c | 2f 54 54 3e 2c 20 69 74 |ntStack<|/TT>, it|
|000048d0| 0a 63 61 6e 20 6e 61 72 | 72 6f 77 20 69 74 20 74 |.can nar|row it t|
|000048e0| 6f 20 6f 6e 65 20 61 73 | 20 66 6f 6c 6c 6f 77 73 |o one as| follows|
|000048f0| 3a 3c 2f 50 3e 0a 0a 3c | 50 52 45 3e 3c 43 4f 44 |:</P>..<|PRE><COD|
|00004900| 45 3e 49 6e 74 53 74 61 | 63 6b 20 61 53 74 61 63 |E>IntSta|ck aStac|
|00004910| 6b 20 3d 20 49 6e 74 53 | 74 61 63 6b 48 65 6c 70 |k = IntS|tackHelp|
|00004920| 65 72 2e 6e 61 72 72 72 | 6f 77 28 6f 62 6a 29 3b |er.narrr|ow(obj);|
|00004930| 3c 2f 43 4f 44 45 3e 3c | 2f 50 52 45 3e 0a 0a 3c |</CODE><|/PRE>..<|
|00004940| 48 33 3e 43 72 65 61 74 | 69 6f 6e 20 61 6e 64 20 |H3>Creat|ion and |
|00004950| 44 65 6c 65 74 69 6f 6e | 3c 2f 48 33 3e 0a 0a 3c |Deletion|</H3>..<|
|00004960| 50 3e 54 6f 20 63 72 65 | 61 74 65 20 61 20 4a 61 |P>To cre|ate a Ja|
|00004970| 76 61 20 6f 62 6a 65 63 | 74 20 79 6f 75 20 75 73 |va objec|t you us|
|00004980| 65 20 74 68 65 20 3c 43 | 4f 44 45 3e 6e 65 77 28 |e the <C|ODE>new(|
|00004990| 29 3c 2f 43 4f 44 45 3e | 20 6f 70 65 72 61 74 6f |)</CODE>| operato|
|000049a0| 72 3b 0a 74 6f 20 64 65 | 6c 65 74 65 20 61 20 4a |r;.to de|lete a J|
|000049b0| 61 76 61 20 6f 62 6a 65 | 63 74 20 79 6f 75 20 64 |ava obje|ct you d|
|000049c0| 6f 20 6e 6f 74 68 69 6e | 67 3b 20 74 68 65 20 67 |o nothin|g; the g|
|000049d0| 61 72 62 61 67 65 20 63 | 6f 6c 6c 65 63 74 6f 72 |arbage c|ollector|
|000049e0| 0a 72 65 63 6c 61 69 6d | 73 20 69 74 20 66 6f 72 |.reclaim|s it for|
|000049f0| 20 79 6f 75 2e 20 43 4f | 52 42 41 20 63 6c 69 65 | you. CO|RBA clie|
|00004a00| 6e 74 73 20 6e 65 76 65 | 72 20 63 72 65 61 74 65 |nts neve|r create|
|00004a10| 20 43 4f 52 42 41 20 6f | 62 6a 65 63 74 73 2c 20 | CORBA o|bjects, |
|00004a20| 6f 6e 6c 79 0a 73 65 72 | 76 65 72 73 20 64 6f 2e |only.ser|vers do.|
|00004a30| 20 41 73 20 61 20 63 6c | 69 65 6e 74 2c 20 74 6f | As a cl|ient, to|
|00004a40| 20 63 72 65 61 74 65 20 | 61 20 43 4f 52 42 41 20 | create |a CORBA |
|00004a50| 6f 62 6a 65 63 74 2c 20 | 79 6f 75 20 69 6e 76 6f |object, |you invo|
|00004a60| 6b 65 20 61 6e 6f 74 68 | 65 72 0a 6f 62 6a 65 63 |ke anoth|er.objec|
|00004a70| 74 20 77 68 69 63 68 20 | 69 73 20 74 68 65 20 3c |t which |is the <|
|00004a80| 49 3e 66 61 63 74 6f 72 | 79 3c 2f 49 3e 20 66 6f |I>factor|y</I> fo|
|00004a90| 72 20 74 68 65 20 74 79 | 70 65 20 6f 66 20 6f 62 |r the ty|pe of ob|
|00004aa0| 6a 65 63 74 20 79 6f 75 | 20 77 61 6e 74 0a 63 72 |ject you| want.cr|
|00004ab0| 65 61 74 65 64 3b 20 74 | 68 65 20 66 61 63 74 6f |eated; t|he facto|
|00004ac0| 72 79 20 72 65 74 75 72 | 6e 73 20 61 6e 20 6f 62 |ry retur|ns an ob|
|00004ad0| 6a 65 63 74 20 72 65 66 | 65 72 65 6e 63 65 20 66 |ject ref|erence f|
|00004ae0| 6f 72 20 79 6f 75 20 74 | 6f 20 75 73 65 20 74 6f |or you t|o use to|
|00004af0| 0a 69 6e 76 6f 6b 65 20 | 74 68 65 20 6e 65 77 20 |.invoke |the new |
|00004b00| 6f 62 6a 65 63 74 2e 20 | 28 46 61 63 74 6f 72 79 |object. |(Factory|
|00004b10| 20 69 73 20 61 20 63 6f | 6e 76 65 6e 74 69 6f 6e | is a co|nvention|
|00004b20| 61 6c 20 74 65 72 6d 20 | 66 6f 72 20 61 6e 20 6f |al term |for an o|
|00004b30| 62 6a 65 63 74 0a 74 68 | 61 74 20 63 72 65 61 74 |bject.th|at creat|
|00004b40| 65 73 20 73 6f 6d 65 20 | 6b 69 6e 64 20 6f 66 20 |es some |kind of |
|00004b50| 6f 62 6a 65 63 74 2c 20 | 62 75 74 20 6c 6f 74 73 |object, |but lots|
|00004b60| 20 6f 66 20 6f 62 6a 65 | 63 74 73 20 63 72 65 61 | of obje|cts crea|
|00004b70| 74 65 20 61 6e 64 0a 72 | 65 74 75 72 6e 20 6f 74 |te and.r|eturn ot|
|00004b80| 68 65 72 20 6f 62 6a 65 | 63 74 73 20 61 73 20 72 |her obje|cts as r|
|00004b90| 65 73 75 6c 74 73 2e 29 | 20 54 68 65 72 65 27 73 |esults.)| There's|
|00004ba0| 20 6e 6f 20 72 65 73 65 | 72 76 65 64 20 22 63 72 | no rese|rved "cr|
|00004bb0| 65 61 74 65 22 0a 6f 70 | 65 72 61 74 69 6f 6e 20 |eate".op|eration |
|00004bc0| 6f 6e 20 61 20 66 61 63 | 74 6f 72 79 3b 20 79 6f |on a fac|tory; yo|
|00004bd0| 75 20 6e 65 65 64 20 74 | 6f 20 63 6f 6e 73 75 6c |u need t|o consul|
|00004be0| 74 20 74 68 65 20 66 61 | 63 74 6f 72 79 27 73 0a |t the fa|ctory's.|
|00004bf0| 64 6f 63 75 6d 65 6e 74 | 61 74 69 6f 6e 20 74 6f |document|ation to|
|00004c00| 20 6c 65 61 72 6e 20 77 | 68 69 63 68 20 6f 70 65 | learn w|hich ope|
|00004c10| 72 61 74 69 6f 6e 20 74 | 6f 20 69 6e 76 6f 6b 65 |ration t|o invoke|
|00004c20| 2e 20 54 79 70 69 63 61 | 6c 6c 79 20 74 68 65 0a |. Typica|lly the.|
|00004c30| 66 61 63 74 6f 72 79 20 | 69 73 20 69 6d 70 6c 65 |factory |is imple|
|00004c40| 6d 65 6e 74 65 64 20 62 | 79 20 74 68 65 20 73 61 |mented b|y the sa|
|00004c50| 6d 65 20 73 65 72 76 65 | 72 20 74 68 61 74 20 69 |me serve|r that i|
|00004c60| 6d 70 6c 65 6d 65 6e 74 | 73 20 74 68 65 20 6f 62 |mplement|s the ob|
|00004c70| 6a 65 63 74 0a 74 79 70 | 65 2e 20 3c 2f 50 3e 0a |ject.typ|e. </P>.|
|00004c80| 0a 3c 50 3e 4e 65 69 74 | 68 65 72 20 69 73 20 74 |.<P>Neit|her is t|
|00004c90| 68 65 72 65 20 61 6e 79 | 20 73 74 61 6e 64 61 72 |here any| standar|
|00004ca0| 64 20 77 61 79 20 74 6f | 20 64 65 6c 65 74 65 20 |d way to| delete |
|00004cb0| 61 20 43 4f 52 42 41 20 | 6f 62 6a 65 63 74 2e 0a |a CORBA |object..|
|00004cc0| 42 65 63 61 75 73 65 20 | 61 20 43 4f 52 42 41 20 |Because |a CORBA |
|00004cd0| 6f 62 6a 65 63 74 20 6d | 61 79 20 62 65 20 73 68 |object m|ay be sh|
|00004ce0| 61 72 65 64 20 62 79 20 | 6d 61 6e 79 20 63 6c 69 |ared by |many cli|
|00004cf0| 65 6e 74 73 20 61 72 6f | 75 6e 64 20 61 0a 6e 65 |ents aro|und a.ne|
|00004d00| 74 77 6f 72 6b 2c 20 69 | 74 20 69 73 20 68 61 72 |twork, i|t is har|
|00004d10| 64 20 74 6f 20 6b 6e 6f | 77 20 77 68 65 6e 20 61 |d to kno|w when a|
|00004d20| 6e 20 6f 62 6a 65 63 74 | 20 68 61 73 2c 20 69 6e |n object| has, in|
|00004d30| 20 4a 61 76 61 20 74 65 | 72 6d 73 2c 20 62 65 63 | Java te|rms, bec|
|00004d40| 6f 6d 65 0a 67 61 72 62 | 61 67 65 2e 20 49 6e 20 |ome.garb|age. In |
|00004d50| 67 65 6e 65 72 61 6c 2c | 20 6f 6e 6c 79 20 74 68 |general,| only th|
|00004d60| 65 20 6f 62 6a 65 63 74 | 20 73 65 72 76 65 72 20 |e object| server |
|00004d70| 69 73 20 69 6e 20 61 20 | 70 6f 73 69 74 69 6f 6e |is in a |position|
|00004d80| 20 74 6f 20 6b 6e 6f 77 | 2c 0a 61 6e 64 20 74 68 | to know|,.and th|
|00004d90| 65 6e 20 6f 6e 6c 79 20 | 69 66 20 74 68 65 20 73 |en only |if the s|
|00004da0| 65 72 76 65 72 20 64 65 | 76 65 6c 6f 70 65 72 20 |erver de|veloper |
|00004db0| 70 72 6f 76 69 64 65 73 | 20 61 20 22 64 65 73 74 |provides| a "dest|
|00004dc0| 72 6f 79 22 20 6f 70 65 | 72 61 74 69 6f 6e 0a 66 |roy" ope|ration.f|
|00004dd0| 6f 72 20 74 68 65 20 6f | 62 6a 65 63 74 20 77 68 |or the o|bject wh|
|00004de0| 69 63 68 20 63 6c 69 65 | 6e 74 73 20 69 6e 76 6f |ich clie|nts invo|
|00004df0| 6b 65 20 77 68 65 6e 2c | 20 66 72 6f 6d 20 74 68 |ke when,| from th|
|00004e00| 65 69 72 20 70 6f 69 6e | 74 20 6f 66 20 76 69 65 |eir poin|t of vie|
|00004e10| 77 2c 0a 61 6e 20 6f 62 | 6a 65 63 74 20 63 61 6e |w,.an ob|ject can|
|00004e20| 20 62 65 20 64 65 73 74 | 72 6f 79 65 64 2e 20 41 | be dest|royed. A|
|00004e30| 6c 74 65 72 6e 61 74 69 | 76 65 6c 79 2c 20 61 6e |lternati|vely, an|
|00004e40| 20 6f 62 6a 65 63 74 20 | 6d 61 79 20 62 65 20 69 | object |may be i|
|00004e50| 6e 74 65 6e 64 65 64 0a | 74 6f 20 70 65 72 73 69 |ntended.|to persi|
|00004e60| 73 74 20 66 6f 72 65 76 | 65 72 2c 20 61 6e 64 20 |st forev|er, and |
|00004e70| 74 68 65 72 65 66 6f 72 | 65 20 70 72 6f 76 69 64 |therefor|e provid|
|00004e80| 65 20 6e 6f 20 22 64 65 | 73 74 72 6f 79 22 20 6f |e no "de|stroy" o|
|00004e90| 70 65 72 61 74 69 6f 6e | 2e 20 49 6e 0a 73 75 6d |peration|. In.sum|
|00004ea0| 2c 20 69 74 27 73 20 75 | 70 20 74 6f 20 79 6f 75 |, it's u|p to you|
|00004eb0| 20 74 6f 20 6c 65 61 72 | 6e 20 68 6f 77 20 74 6f | to lear|n how to|
|00004ec0| 20 75 73 65 20 65 61 63 | 68 20 43 4f 52 42 41 20 | use eac|h CORBA |
|00004ed0| 6f 62 6a 65 63 74 20 74 | 79 70 65 2e 3c 2f 50 3e |object t|ype.</P>|
|00004ee0| 0a 0a 3c 48 32 3e 53 65 | 72 76 65 72 73 20 66 6f |..<H2>Se|rvers fo|
|00004ef0| 72 20 54 72 61 6e 73 69 | 65 6e 74 20 43 4f 52 42 |r Transi|ent CORB|
|00004f00| 41 20 4f 62 6a 65 63 74 | 73 3c 2f 48 32 3e 0a 0a |A Object|s</H2>..|
|00004f10| 3c 50 3e 54 68 69 73 20 | 73 65 63 74 69 6f 6e 20 |<P>This |section |
|00004f20| 69 6e 74 72 6f 64 75 63 | 65 73 20 4a 61 76 61 20 |introduc|es Java |
|00004f30| 49 44 4c 20 73 75 70 70 | 6f 72 74 20 66 6f 72 20 |IDL supp|ort for |
|00004f40| 73 65 72 76 65 72 73 20 | 6f 66 20 74 72 61 6e 73 |servers |of trans|
|00004f50| 69 65 6e 74 0a 43 4f 52 | 42 41 20 6f 62 6a 65 63 |ient.COR|BA objec|
|00004f60| 74 73 2e 20 4f 6e 65 20 | 6f 66 20 74 68 65 20 3c |ts. One |of the <|
|00004f70| 49 3e 3c 41 20 48 52 45 | 46 3d 22 65 78 61 6d 70 |I><A HRE|F="examp|
|00004f80| 6c 65 2e 68 74 6d 6c 22 | 3e 45 78 61 6d 70 6c 65 |le.html"|>Example|
|00004f90| 73 3c 2f 41 3e 3c 2f 49 | 3e 0a 69 73 20 61 20 74 |s</A></I|>.is a t|
|00004fa0| 72 61 6e 73 69 65 6e 74 | 20 6f 62 6a 65 63 74 20 |ransient| object |
|00004fb0| 73 65 72 76 65 72 2e 3c | 2f 50 3e 0a 0a 3c 48 33 |server.<|/P>..<H3|
|00004fc0| 3e 54 72 61 6e 73 69 65 | 6e 74 20 61 6e 64 20 50 |>Transie|nt and P|
|00004fd0| 65 72 73 69 73 74 65 6e | 74 20 4f 62 6a 65 63 74 |ersisten|t Object|
|00004fe0| 73 3c 2f 48 33 3e 0a 0a | 3c 50 3e 41 20 74 72 61 |s</H3>..|<P>A tra|
|00004ff0| 6e 73 69 65 6e 74 20 43 | 4f 52 42 41 20 6f 62 6a |nsient C|ORBA obj|
|00005000| 65 63 74 20 68 61 73 20 | 74 68 65 20 73 61 6d 65 |ect has |the same|
|00005010| 20 6c 69 66 65 74 69 6d | 65 20 61 73 20 74 68 65 | lifetim|e as the|
|00005020| 20 65 78 65 63 75 74 69 | 6f 6e 20 6f 66 0a 74 68 | executi|on of.th|
|00005030| 65 20 73 65 72 76 65 72 | 20 70 72 6f 63 65 73 73 |e server| process|
|00005040| 20 74 68 61 74 20 63 72 | 65 61 74 65 73 20 69 74 | that cr|eates it|
|00005050| 2e 20 57 68 65 6e 20 61 | 20 73 65 72 76 65 72 20 |. When a| server |
|00005060| 74 65 72 6d 69 6e 61 74 | 65 73 2c 20 69 74 73 0a |terminat|es, its.|
|00005070| 74 72 61 6e 73 69 65 6e | 74 20 6f 62 6a 65 63 74 |transien|t object|
|00005080| 73 20 64 69 73 61 70 70 | 65 61 72 20 77 69 74 68 |s disapp|ear with|
|00005090| 20 69 74 2e 20 54 72 61 | 6e 73 69 65 6e 74 20 6f | it. Tra|nsient o|
|000050a0| 62 6a 65 63 74 73 20 61 | 72 65 20 6f 66 74 65 6e |bjects a|re often|
|000050b0| 20 75 73 65 64 0a 74 6f | 20 65 66 66 65 63 74 20 | used.to| effect |
|000050c0| 61 73 79 6e 63 68 72 6f | 6e 6f 75 73 20 63 6f 6d |asynchro|nous com|
|000050d0| 6d 75 6e 69 63 61 74 69 | 6f 6e 20 62 65 74 77 65 |municati|on betwe|
|000050e0| 65 6e 20 61 70 70 6c 69 | 63 61 74 69 6f 6e 73 20 |en appli|cations |
|000050f0| 61 6e 64 0a 6f 62 6a 65 | 63 74 73 2e 20 46 6f 72 |and.obje|cts. For|
|00005100| 20 65 78 61 6d 70 6c 65 | 2c 20 73 75 70 70 6f 73 | example|, suppos|
|00005110| 65 20 61 20 74 69 6d 69 | 6e 67 20 73 65 72 76 69 |e a timi|ng servi|
|00005120| 63 65 20 77 69 6c 6c 20 | 6c 65 74 20 61 20 63 6c |ce will |let a cl|
|00005130| 69 65 6e 74 20 6b 6e 6f | 77 0a 77 68 65 6e 20 61 |ient kno|w.when a|
|00005140| 6e 20 69 6e 74 65 72 76 | 61 6c 20 65 78 70 69 72 |n interv|al expir|
|00005150| 65 73 3b 20 69 74 20 63 | 6f 75 6c 64 20 64 6f 20 |es; it c|ould do |
|00005160| 73 6f 20 61 73 20 66 6f | 6c 6c 6f 77 73 3a 3c 2f |so as fo|llows:</|
|00005170| 50 3e 0a 0a 3c 55 4c 3e | 0a 20 20 20 3c 4c 49 3e |P>..<UL>|. <LI>|
|00005180| 54 68 65 20 74 69 6d 69 | 6e 67 20 73 65 72 76 69 |The timi|ng servi|
|00005190| 63 65 20 64 65 66 69 6e | 65 73 20 61 6e 20 69 6e |ce defin|es an in|
|000051a0| 74 65 72 66 61 63 65 20 | 66 6f 72 20 61 20 6e 6f |terface |for a no|
|000051b0| 74 69 66 69 65 72 20 6f | 62 6a 65 63 74 0a 20 20 |tifier o|bject. |
|000051c0| 20 74 68 61 74 20 69 6e | 63 6c 75 64 65 73 20 61 | that in|cludes a|
|000051d0| 6e 20 3c 54 54 3e 69 6e | 74 65 72 76 61 6c 5f 65 |n <TT>in|terval_e|
|000051e0| 78 70 69 72 65 64 28 29 | 3c 2f 54 54 3e 20 6f 70 |xpired()|</TT> op|
|000051f0| 65 72 61 74 69 6f 6e 2e | 0a 20 20 20 0a 20 20 20 |eration.|. . |
|00005200| 3c 4c 49 3e 54 68 65 20 | 74 69 6d 69 6e 67 20 73 |<LI>The |timing s|
|00005210| 65 72 76 69 63 65 20 72 | 65 71 75 69 72 65 73 20 |ervice r|equires |
|00005220| 74 68 61 74 20 61 20 63 | 6c 69 65 6e 74 20 70 61 |that a c|lient pa|
|00005230| 73 73 20 61 20 6e 6f 74 | 69 66 69 65 72 0a 20 20 |ss a not|ifier. |
|00005240| 20 6f 62 6a 65 63 74 20 | 74 6f 20 74 68 65 20 74 | object |to the t|
|00005250| 69 6d 69 6e 67 20 73 65 | 72 76 69 63 65 27 73 20 |iming se|rvice's |
|00005260| 3c 54 54 3e 73 65 74 5f | 69 6e 74 65 72 76 61 6c |<TT>set_|interval|
|00005270| 28 29 3c 2f 54 54 3e 20 | 6f 70 65 72 61 74 69 6f |()</TT> |operatio|
|00005280| 6e 2e 0a 20 20 20 0a 20 | 20 20 3c 4c 49 3e 41 20 |n.. . | <LI>A |
|00005290| 74 69 6d 69 6e 67 20 73 | 65 72 76 69 63 65 20 63 |timing s|ervice c|
|000052a0| 6c 69 65 6e 74 20 69 6d | 70 6c 65 6d 65 6e 74 73 |lient im|plements|
|000052b0| 20 61 20 74 72 61 6e 73 | 69 65 6e 74 20 6f 62 6a | a trans|ient obj|
|000052c0| 65 63 74 20 74 68 61 74 | 0a 20 20 20 73 61 74 69 |ect that|. sati|
|000052d0| 73 66 69 65 73 20 74 68 | 65 20 6e 6f 74 69 66 69 |sfies th|e notifi|
|000052e0| 65 72 20 69 6e 74 65 72 | 66 61 63 65 2e 0a 20 20 |er inter|face.. |
|000052f0| 20 0a 20 20 20 3c 4c 49 | 3e 41 20 74 69 6d 69 6e | . <LI|>A timin|
|00005300| 67 20 73 65 72 76 69 63 | 65 20 63 6c 69 65 6e 74 |g servic|e client|
|00005310| 20 63 72 65 61 74 65 73 | 20 61 6e 64 20 70 61 73 | creates| and pas|
|00005320| 73 65 73 20 61 20 6e 6f | 74 69 66 69 65 72 20 6f |ses a no|tifier o|
|00005330| 62 6a 65 63 74 0a 20 20 | 20 74 6f 20 74 68 65 20 |bject. | to the |
|00005340| 74 69 6d 69 6e 67 20 73 | 65 72 76 69 63 65 0a 20 |timing s|ervice. |
|00005350| 20 20 0a 20 20 20 3c 4c | 49 3e 57 68 65 6e 20 74 | . <L|I>When t|
|00005360| 68 65 20 69 6e 74 65 72 | 76 61 6c 20 65 78 70 69 |he inter|val expi|
|00005370| 72 65 73 2c 20 74 68 65 | 20 74 69 6d 69 6e 67 20 |res, the| timing |
|00005380| 73 65 72 76 69 63 65 20 | 69 6e 76 6f 6b 65 73 20 |service |invokes |
|00005390| 74 68 65 0a 20 20 20 6e | 6f 74 69 66 69 65 72 20 |the. n|otifier |
|000053a0| 6f 62 6a 65 63 74 27 73 | 20 3c 54 54 3e 69 6e 74 |object's| <TT>int|
|000053b0| 65 72 76 61 6c 5f 65 78 | 70 69 72 65 64 28 29 3c |erval_ex|pired()<|
|000053c0| 2f 54 54 3e 20 6f 70 65 | 72 61 74 69 6f 6e 2e 0a |/TT> ope|ration..|
|000053d0| 3c 2f 55 4c 3e 0a 0a 3c | 50 3e 54 68 65 20 61 72 |</UL>..<|P>The ar|
|000053e0| 72 61 6e 67 65 6d 65 6e | 74 2c 20 69 6e 20 6f 74 |rangemen|t, in ot|
|000053f0| 68 65 72 20 77 6f 72 64 | 73 2c 20 69 73 20 6d 75 |her word|s, is mu|
|00005400| 63 68 20 6c 69 6b 65 20 | 61 20 63 61 6c 6c 62 61 |ch like |a callba|
|00005410| 63 6b 20 69 6e 0a 70 72 | 6f 63 65 64 75 72 61 6c |ck in.pr|ocedural|
|00005420| 20 70 72 6f 67 72 61 6d | 6d 69 6e 67 2e 3c 2f 50 | program|ming.</P|
|00005430| 3e 0a 0a 3c 50 3e 42 79 | 20 63 6f 6e 74 72 61 73 |>..<P>By| contras|
|00005440| 74 2c 20 61 20 70 65 72 | 73 69 73 74 65 6e 74 20 |t, a per|sistent |
|00005450| 6f 62 6a 65 63 74 20 6c | 69 76 65 73 20 75 6e 74 |object l|ives unt|
|00005460| 69 6c 20 69 74 20 69 73 | 20 65 78 70 6c 69 63 74 |il it is| explict|
|00005470| 6c 79 0a 64 65 73 74 72 | 6f 79 65 64 2e 20 49 66 |ly.destr|oyed. If|
|00005480| 20 61 20 63 6c 69 65 6e | 74 20 68 61 73 20 61 20 | a clien|t has a |
|00005490| 72 65 66 65 72 65 6e 63 | 65 20 74 6f 20 61 20 70 |referenc|e to a p|
|000054a0| 65 72 73 69 73 74 65 6e | 74 20 43 4f 52 42 41 20 |ersisten|t CORBA |
|000054b0| 6f 62 6a 65 63 74 2c 0a | 74 68 61 74 20 72 65 66 |object,.|that ref|
|000054c0| 65 72 65 6e 63 65 20 63 | 61 6e 20 62 65 20 75 73 |erence c|an be us|
|000054d0| 65 64 20 65 76 65 6e 20 | 69 66 20 74 68 65 20 6f |ed even |if the o|
|000054e0| 62 6a 65 63 74 27 73 20 | 73 65 72 76 65 72 20 69 |bject's |server i|
|000054f0| 73 20 6e 6f 74 0a 72 75 | 6e 6e 69 6e 67 2d 2d 61 |s not.ru|nning--a|
|00005500| 6e 20 4f 52 42 20 77 69 | 6c 6c 20 73 74 61 72 74 |n ORB wi|ll start|
|00005510| 20 74 68 65 20 73 65 72 | 76 65 72 20 77 68 65 6e | the ser|ver when|
|00005520| 20 69 74 20 28 74 68 65 | 20 4f 52 42 29 20 72 65 | it (the| ORB) re|
|00005530| 63 65 69 76 65 73 20 61 | 6e 0a 69 6e 76 6f 63 61 |ceives a|n.invoca|
|00005540| 74 69 6f 6e 20 6f 6e 20 | 74 68 65 20 6f 62 6a 65 |tion on |the obje|
|00005550| 63 74 2e 3c 2f 50 3e 0a | 0a 3c 50 3e 41 74 20 70 |ct.</P>.|.<P>At p|
|00005560| 72 65 73 65 6e 74 2c 20 | 4a 61 76 61 20 49 44 4c |resent, |Java IDL|
|00005570| 20 73 75 70 70 6f 72 74 | 73 20 6f 6e 6c 79 20 74 | support|s only t|
|00005580| 72 61 6e 73 69 65 6e 74 | 20 6f 62 6a 65 63 74 20 |ransient| object |
|00005590| 73 65 72 76 65 72 73 2e | 0a 41 6c 74 68 6f 75 67 |servers.|.Althoug|
|000055a0| 68 20 70 65 72 73 69 73 | 74 65 6e 74 20 6f 62 6a |h persis|tent obj|
|000055b0| 65 63 74 20 73 65 72 76 | 65 72 73 20 63 61 6e 27 |ect serv|ers can'|
|000055c0| 74 20 79 65 74 20 62 65 | 20 77 72 69 74 74 65 6e |t yet be| written|
|000055d0| 20 69 6e 20 4a 61 76 61 | 2c 20 4a 61 76 61 0a 61 | in Java|, Java.a|
|000055e0| 70 70 6c 65 74 73 20 61 | 6e 64 20 61 70 70 6c 69 |pplets a|nd appli|
|000055f0| 63 61 74 69 6f 6e 73 20 | 63 61 6e 20 62 65 20 63 |cations |can be c|
|00005600| 6c 69 65 6e 74 73 20 6f | 66 20 70 65 72 73 69 73 |lients o|f persis|
|00005610| 74 65 6e 74 20 43 4f 52 | 42 41 20 6f 62 6a 65 63 |tent COR|BA objec|
|00005620| 74 73 0a 77 68 6f 73 65 | 20 73 65 72 76 65 72 73 |ts.whose| servers|
|00005630| 20 61 72 65 20 77 72 69 | 74 74 65 6e 20 69 6e 20 | are wri|tten in |
|00005640| 6f 74 68 65 72 20 6c 61 | 6e 67 75 61 67 65 73 2c |other la|nguages,|
|00005650| 20 73 75 63 68 20 61 73 | 20 43 2b 2b 2e 3c 2f 50 | such as| C++.</P|
|00005660| 3e 0a 0a 3c 48 33 3e 53 | 65 72 76 61 6e 74 20 61 |>..<H3>S|ervant a|
|00005670| 6e 64 20 53 65 72 76 61 | 6e 74 20 42 61 73 65 20 |nd Serva|nt Base |
|00005680| 43 6c 61 73 73 65 73 3c | 2f 48 33 3e 0a 0a 3c 50 |Classes<|/H3>..<P|
|00005690| 3e 54 6f 20 69 6d 70 6c | 65 6d 65 6e 74 20 61 20 |>To impl|ement a |
|000056a0| 73 65 72 76 65 72 20 66 | 6f 72 20 74 72 61 6e 73 |server f|or trans|
|000056b0| 69 65 6e 74 20 43 4f 52 | 42 41 20 6f 62 6a 65 63 |ient COR|BA objec|
|000056c0| 74 73 20 6f 66 20 73 6f | 6d 65 20 74 79 70 65 2c |ts of so|me type,|
|000056d0| 0a 79 6f 75 20 77 72 69 | 74 65 20 61 20 4a 61 76 |.you wri|te a Jav|
|000056e0| 61 20 63 6c 61 73 73 20 | 63 61 6c 6c 65 64 20 61 |a class |called a|
|000056f0| 20 3c 49 3e 73 65 72 76 | 61 6e 74 3c 2f 49 3e 2c | <I>serv|ant</I>,|
|00005700| 20 77 68 69 63 68 20 69 | 6e 68 65 72 69 74 73 20 | which i|nherits |
|00005710| 66 72 6f 6d 20 61 0a 63 | 6c 61 73 73 20 63 61 6c |from a.c|lass cal|
|00005720| 6c 65 64 20 74 68 65 20 | 3c 49 3e 73 65 72 76 61 |led the |<I>serva|
|00005730| 6e 74 20 62 61 73 65 3c | 2f 49 3e 3b 20 73 65 72 |nt base<|/I>; ser|
|00005740| 76 61 6e 74 20 62 61 73 | 65 20 63 6c 61 73 73 65 |vant bas|e classe|
|00005750| 73 20 61 72 65 0a 6f 70 | 74 69 6f 6e 61 6c 6c 79 |s are.op|tionally|
|00005760| 20 67 65 6e 65 72 61 74 | 65 64 20 62 79 20 74 68 | generat|ed by th|
|00005770| 65 20 3c 43 4f 44 45 3e | 69 64 6c 74 6f 6a 61 76 |e <CODE>|idltojav|
|00005780| 61 3c 2f 43 4f 44 45 3e | 20 63 6f 6d 70 69 6c 65 |a</CODE>| compile|
|00005790| 72 2e 20 41 6e 0a 69 6e | 73 74 61 6e 63 65 20 6f |r. An.in|stance o|
|000057a0| 66 20 61 20 74 72 61 6e | 73 69 65 6e 74 20 43 4f |f a tran|sient CO|
|000057b0| 52 42 41 20 6f 62 6a 65 | 63 74 20 69 73 20 69 6d |RBA obje|ct is im|
|000057c0| 70 6c 65 6d 65 6e 74 65 | 64 20 62 79 20 61 6e 20 |plemente|d by an |
|000057d0| 69 6e 73 74 61 6e 63 65 | 20 6f 66 0a 69 74 73 20 |instance| of.its |
|000057e0| 73 65 72 76 61 6e 74 20 | 63 6c 61 73 73 2e 3c 2f |servant |class.</|
|000057f0| 50 3e 0a 0a 3c 50 3e 54 | 68 65 20 73 65 72 76 61 |P>..<P>T|he serva|
|00005800| 6e 74 20 62 61 73 65 20 | 63 6c 61 73 73 20 69 73 |nt base |class is|
|00005810| 20 74 68 65 20 43 4f 52 | 42 41 20 74 79 70 65 2d | the COR|BA type-|
|00005820| 73 70 65 63 69 66 69 63 | 20 69 6e 74 65 72 66 61 |specific| interfa|
|00005830| 63 65 0a 62 65 74 77 65 | 65 6e 20 74 68 65 20 4f |ce.betwe|en the O|
|00005840| 52 42 20 61 6e 64 20 74 | 68 65 20 73 65 72 76 61 |RB and t|he serva|
|00005850| 6e 74 20 63 6f 64 65 20 | 66 6f 72 20 74 68 65 20 |nt code |for the |
|00005860| 74 79 70 65 2e 20 49 74 | 20 75 6e 6d 61 72 73 68 |type. It| unmarsh|
|00005870| 61 6c 73 0a 69 6e 63 6f | 6d 69 6e 67 20 70 61 72 |als.inco|ming par|
|00005880| 61 6d 65 74 65 72 73 2c | 20 69 6e 76 6f 6b 65 73 |ameters,| invokes|
|00005890| 20 73 65 72 76 61 6e 74 | 20 6d 65 74 68 6f 64 73 | servant| methods|
|000058a0| 2c 20 6d 61 72 73 68 61 | 6c 73 20 72 65 73 75 6c |, marsha|ls resul|
|000058b0| 74 73 2c 20 61 6e 64 0a | 64 69 72 65 63 74 73 20 |ts, and.|directs |
|000058c0| 74 68 65 20 4f 52 42 20 | 74 6f 20 72 65 74 75 72 |the ORB |to retur|
|000058d0| 6e 20 72 65 73 75 6c 74 | 73 20 74 6f 20 74 68 65 |n result|s to the|
|000058e0| 20 63 6c 69 65 6e 74 20 | 4f 52 42 2e 3c 2f 50 3e | client |ORB.</P>|
|000058f0| 0a 0a 3c 50 3e 41 20 73 | 65 72 76 61 6e 74 20 63 |..<P>A s|ervant c|
|00005900| 6c 61 73 73 20 65 78 74 | 65 6e 64 73 20 69 74 73 |lass ext|ends its|
|00005910| 20 73 65 72 76 61 6e 74 | 20 62 61 73 65 20 77 69 | servant| base wi|
|00005920| 74 68 20 61 20 6d 65 74 | 68 6f 64 20 66 6f 72 20 |th a met|hod for |
|00005930| 65 61 63 68 0a 6f 70 65 | 72 61 74 69 6f 6e 20 69 |each.ope|ration i|
|00005940| 6e 20 74 68 65 20 49 44 | 4c 20 69 6e 74 65 72 66 |n the ID|L interf|
|00005950| 61 63 65 20 64 65 66 69 | 6e 69 74 69 6f 6e 20 69 |ace defi|nition i|
|00005960| 74 20 69 6d 70 6c 65 6d | 65 6e 74 73 2e 20 28 4f |t implem|ents. (O|
|00005970| 4d 47 20 49 44 4c 0a 61 | 74 74 72 69 62 75 74 65 |MG IDL.a|ttribute|
|00005980| 73 20 72 65 71 75 69 72 | 65 20 6f 6e 65 20 6d 65 |s requir|e one me|
|00005990| 74 68 6f 64 20 69 66 20 | 74 68 65 79 20 61 72 65 |thod if |they are|
|000059a0| 20 72 65 61 64 2d 6f 6e | 6c 79 2c 20 74 77 6f 20 | read-on|ly, two |
|000059b0| 69 66 20 74 68 65 79 20 | 61 72 65 0a 77 72 69 74 |if they |are.writ|
|000059c0| 65 61 62 6c 65 2e 29 20 | 46 6f 72 20 65 78 61 6d |eable.) |For exam|
|000059d0| 70 6c 65 2c 20 63 6f 6e | 73 69 64 65 72 20 74 68 |ple, con|sider th|
|000059e0| 65 20 66 6f 6c 6c 6f 77 | 69 6e 67 20 4f 4d 47 20 |e follow|ing OMG |
|000059f0| 49 44 4c 3a 3c 2f 50 3e | 0a 0a 3c 50 52 45 3e 6d |IDL:</P>|..<PRE>m|
|00005a00| 6f 64 75 6c 65 20 4e 6f | 74 69 66 69 65 72 73 20 |odule No|tifiers |
|00005a10| 7b 0a 20 20 20 69 6e 74 | 65 72 66 61 63 65 20 53 |{. int|erface S|
|00005a20| 69 6d 70 6c 65 4e 6f 74 | 69 66 69 65 72 20 7b 0a |impleNot|ifier {.|
|00005a30| 20 20 20 20 20 20 76 6f | 69 64 20 61 6c 65 72 74 | vo|id alert|
|00005a40| 20 28 69 6e 20 6c 6f 6e | 67 20 61 6c 65 72 74 5f | (in lon|g alert_|
|00005a50| 69 64 29 3b 0a 20 20 20 | 7d 0a 7d 3c 2f 50 52 45 |id);. |}.}</PRE|
|00005a60| 3e 0a 0a 3c 50 3e 41 20 | 73 65 72 76 61 6e 74 20 |>..<P>A |servant |
|00005a70| 66 6f 72 20 74 68 69 73 | 20 74 79 70 65 20 6d 69 |for this| type mi|
|00005a80| 67 68 74 20 6c 6f 6f 6b | 20 61 73 20 66 6f 6c 6c |ght look| as foll|
|00005a90| 6f 77 73 3a 3c 2f 50 3e | 0a 0a 3c 50 52 45 3e 69 |ows:</P>|..<PRE>i|
|00005aa0| 6d 70 6f 72 74 20 53 69 | 6d 70 6c 65 4e 6f 74 69 |mport Si|mpleNoti|
|00005ab0| 66 69 65 72 53 74 75 62 | 73 2e 2a 0a 26 6e 62 73 |fierStub|s.*.&nbs|
|00005ac0| 70 3b 0a 63 6c 61 73 73 | 20 53 69 6d 70 6c 65 4e |p;.class| SimpleN|
|00005ad0| 6f 74 69 66 69 65 72 53 | 65 72 76 61 6e 74 20 65 |otifierS|ervant e|
|00005ae0| 78 74 65 6e 64 73 20 5f | 53 69 6d 70 6c 65 4e 6f |xtends _|SimpleNo|
|00005af0| 74 69 66 69 65 72 49 6d | 70 6c 42 61 73 65 20 7b |tifierIm|plBase {|
|00005b00| 0a 20 20 20 0a 20 20 20 | 76 6f 69 64 20 61 6c 65 |. . |void ale|
|00005b10| 72 74 20 28 69 6e 74 20 | 61 6c 65 72 74 5f 69 64 |rt (int |alert_id|
|00005b20| 29 20 7b 0a 20 20 20 20 | 20 20 2f 2f 20 64 6f 20 |) {. | // do |
|00005b30| 73 6f 6d 65 74 68 69 6e | 67 20 61 62 6f 75 74 20 |somethin|g about |
|00005b40| 74 68 65 20 61 6c 65 72 | 74 20 2e 2e 2e 0a 20 20 |the aler|t .... |
|00005b50| 20 20 20 20 72 65 74 75 | 72 6e 3b 0a 20 20 20 7d | retu|rn;. }|
|00005b60| 0a 7d 3c 2f 50 52 45 3e | 0a 0a 3c 50 3e 41 6e 6f |.}</PRE>|..<P>Ano|
|00005b70| 74 68 65 72 20 63 6c 69 | 65 6e 74 20 63 6c 61 73 |ther cli|ent clas|
|00005b80| 73 20 63 6f 75 6c 64 20 | 63 72 65 61 74 65 20 69 |s could |create i|
|00005b90| 6e 73 74 61 6e 63 65 73 | 20 6f 66 0a 3c 54 54 3e |nstances| of.<TT>|
|00005ba0| 53 69 6d 70 6c 65 4e 6f | 74 69 66 69 65 72 53 65 |SimpleNo|tifierSe|
|00005bb0| 72 76 61 6e 74 3c 2f 54 | 54 3e 20 61 73 20 66 6f |rvant</T|T> as fo|
|00005bc0| 6c 6c 6f 77 73 3a 3c 2f | 50 3e 0a 0a 3c 50 52 45 |llows:</|P>..<PRE|
|00005bd0| 3e 20 20 53 69 6d 70 6c | 65 4e 6f 74 69 66 69 65 |> Simpl|eNotifie|
|00005be0| 72 53 65 72 76 61 6e 74 | 20 53 69 6d 70 6c 65 4e |rServant| SimpleN|
|00005bf0| 6f 74 69 66 69 65 72 52 | 65 66 20 3d 20 6e 65 77 |otifierR|ef = new|
|00005c00| 20 53 69 6d 70 6c 65 4e | 6f 74 69 66 69 65 72 53 | SimpleN|otifierS|
|00005c10| 65 72 76 61 6e 74 28 29 | 3b 20 0a 20 20 6f 72 62 |ervant()|; . orb|
|00005c20| 2e 63 6f 6e 6e 65 63 74 | 28 53 69 6d 70 6c 65 4e |.connect|(SimpleN|
|00005c30| 6f 74 69 66 69 65 72 52 | 65 66 29 3b 20 3c 2f 50 |otifierR|ef); </P|
|00005c40| 52 45 3e 0a 0a 3c 50 3e | 54 68 65 20 3c 54 54 3e |RE>..<P>|The <TT>|
|00005c50| 6f 72 62 2e 63 6f 6e 6e | 65 63 74 28 29 3c 2f 54 |orb.conn|ect()</T|
|00005c60| 54 3e 20 63 61 6c 6c 20 | 72 65 67 69 73 74 65 72 |T> call |register|
|00005c70| 73 20 74 68 65 20 6f 62 | 6a 65 63 74 20 61 6e 64 |s the ob|ject and|
|00005c80| 20 74 68 65 0a 73 65 72 | 76 61 6e 74 20 77 69 74 | the.ser|vant wit|
|00005c90| 68 20 74 68 65 20 4f 52 | 42 20 73 6f 20 74 68 61 |h the OR|B so tha|
|00005ca0| 74 20 74 68 65 20 4f 52 | 42 20 77 69 6c 6c 20 69 |t the OR|B will i|
|00005cb0| 6e 76 6f 6b 65 20 74 68 | 65 20 73 65 72 76 61 6e |nvoke th|e servan|
|00005cc0| 74 20 77 68 65 6e 20 74 | 68 65 0a 43 4f 52 42 41 |t when t|he.CORBA|
|00005cd0| 20 6f 62 6a 65 63 74 20 | 69 73 20 69 6e 76 6f 6b | object |is invok|
|00005ce0| 65 64 2e 20 57 68 65 6e | 20 74 68 65 20 73 65 72 |ed. When| the ser|
|00005cf0| 76 65 72 20 74 65 72 6d | 69 6e 61 74 65 73 2c 20 |ver term|inates, |
|00005d00| 74 68 65 20 4f 52 42 20 | 64 65 73 74 72 6f 79 73 |the ORB |destroys|
|00005d10| 0a 69 74 73 20 72 65 63 | 6f 72 64 73 20 66 6f 72 |.its rec|ords for|
|00005d20| 20 74 68 61 74 20 73 65 | 72 76 65 72 27 73 20 43 | that se|rver's C|
|00005d30| 4f 52 42 41 20 6f 62 6a | 65 63 74 73 20 73 6f 20 |ORBA obj|ects so |
|00005d40| 74 68 61 74 20 73 75 62 | 73 65 71 75 65 6e 74 0a |that sub|sequent.|
|00005d50| 69 6e 76 6f 63 61 74 69 | 6f 6e 73 20 77 69 6c 6c |invocati|ons will|
|00005d60| 20 72 65 73 75 6c 74 20 | 69 6e 20 61 6e 20 4f 42 | result |in an OB|
|00005d70| 4a 45 43 54 5f 4e 4f 54 | 5f 45 58 49 53 54 20 65 |JECT_NOT|_EXIST e|
|00005d80| 78 63 65 70 74 69 6f 6e | 2e 20 41 20 73 65 72 76 |xception|. A serv|
|00005d90| 65 72 0a 63 61 6e 20 61 | 6c 74 65 72 6e 61 74 69 |er.can a|lternati|
|00005da0| 76 65 6c 79 20 61 6e 6e | 75 6c 20 69 74 73 20 43 |vely ann|ul its C|
|00005db0| 4f 52 42 41 20 6f 62 6a | 65 63 74 73 20 62 65 66 |ORBA obj|ects bef|
|00005dc0| 6f 72 65 20 74 65 72 6d | 69 6e 61 74 69 6e 67 20 |ore term|inating |
|00005dd0| 62 79 0a 63 61 6c 6c 69 | 6e 67 20 3c 54 54 3e 6f |by.calli|ng <TT>o|
|00005de0| 72 62 2e 64 69 73 63 6f | 6e 6e 65 63 74 28 29 3c |rb.disco|nnect()<|
|00005df0| 2f 54 54 3e 2e 20 3c 2f | 50 3e 0a 0a 3c 48 33 3e |/TT>. </|P>..<H3>|
|00005e00| 55 73 69 6e 67 20 53 65 | 72 76 61 6e 74 20 4f 62 |Using Se|rvant Ob|
|00005e10| 6a 65 63 74 73 3c 2f 48 | 33 3e 0a 0a 3c 50 3e 41 |jects</H|3>..<P>A|
|00005e20| 20 74 72 61 6e 73 69 65 | 6e 74 20 43 4f 52 42 41 | transie|nt CORBA|
|00005e30| 20 6f 62 6a 65 63 74 20 | 69 73 20 69 6d 70 6c 65 | object |is imple|
|00005e40| 6d 65 6e 74 65 64 20 62 | 79 20 61 20 4a 61 76 61 |mented b|y a Java|
|00005e50| 20 73 65 72 76 61 6e 74 | 20 6f 62 6a 65 63 74 2e | servant| object.|
|00005e60| 0a 41 20 73 65 72 76 61 | 6e 74 20 6f 62 6a 65 63 |.A serva|nt objec|
|00005e70| 74 20 63 61 6e 20 62 65 | 20 70 61 73 73 65 64 20 |t can be| passed |
|00005e80| 61 73 20 61 20 70 61 72 | 61 6d 65 74 65 72 20 74 |as a par|ameter t|
|00005e90| 6f 20 61 6e 79 20 6d 65 | 74 68 6f 64 20 74 68 61 |o any me|thod tha|
|00005ea0| 74 0a 6e 65 65 64 73 20 | 61 20 43 4f 52 42 41 20 |t.needs |a CORBA |
|00005eb0| 6f 62 6a 65 63 74 20 72 | 65 66 65 72 65 6e 63 65 |object r|eference|
|00005ec0| 20 6f 66 20 74 68 61 74 | 20 74 79 70 65 2e 20 46 | of that| type. F|
|00005ed0| 6f 72 20 65 78 61 6d 70 | 6c 65 2c 20 73 75 70 70 |or examp|le, supp|
|00005ee0| 6f 73 65 20 61 0a 4a 61 | 76 61 20 70 72 6f 67 72 |ose a.Ja|va progr|
|00005ef0| 61 6d 20 77 61 6e 74 73 | 20 74 6f 20 6c 65 61 72 |am wants| to lear|
|00005f00| 6e 20 77 68 65 6e 20 74 | 68 65 20 70 72 69 63 65 |n when t|he price|
|00005f10| 20 6f 66 20 53 75 6e 20 | 4d 69 63 72 6f 73 79 73 | of Sun |Microsys|
|00005f20| 74 65 6d 73 20 73 74 6f | 63 6b 0a 72 69 73 65 73 |tems sto|ck.rises|
|00005f30| 20 61 62 6f 76 65 20 31 | 35 30 2e 20 54 68 65 20 | above 1|50. The |
|00005f40| 70 72 6f 67 72 61 6d 20 | 68 61 73 20 6f 62 74 61 |program |has obta|
|00005f50| 69 6e 65 64 20 61 20 72 | 65 66 65 72 65 6e 63 65 |ined a r|eference|
|00005f60| 20 74 6f 20 61 20 43 4f | 52 42 41 0a 73 74 6f 63 | to a CO|RBA.stoc|
|00005f70| 6b 2d 77 61 74 63 68 65 | 72 20 6f 62 6a 65 63 74 |k-watche|r object|
|00005f80| 20 77 68 69 63 68 20 70 | 72 6f 76 69 64 65 73 20 | which p|rovides |
|00005f90| 74 68 65 20 66 6f 6c 6c | 6f 77 69 6e 67 20 6f 70 |the foll|owing op|
|00005fa0| 65 72 61 74 69 6f 6e 20 | 28 73 68 6f 77 6e 20 69 |eration |(shown i|
|00005fb0| 6e 0a 49 44 4c 20 61 6e | 64 20 4a 61 76 61 29 3a |n.IDL an|d Java):|
|00005fc0| 3c 2f 50 3e 0a 0a 3c 50 | 52 45 3e 2f 2f 20 49 44 |</P>..<P|RE>// ID|
|00005fd0| 4c 0a 69 6e 74 65 72 66 | 61 63 65 20 53 74 6f 63 |L.interf|ace Stoc|
|00005fe0| 6b 57 61 74 63 68 65 72 | 20 7b 0a 76 6f 69 64 20 |kWatcher| {.void |
|00005ff0| 73 65 74 5f 74 68 72 65 | 73 68 6f 6c 64 28 0a 20 |set_thre|shold(. |
|00006000| 20 20 69 6e 20 73 74 72 | 69 6e 67 20 73 74 6f 63 | in str|ing stoc|
|00006010| 6b 5f 73 79 6d 62 6f 6c | 2c 0a 20 20 20 69 6e 20 |k_symbol|,. in |
|00006020| 73 68 6f 72 74 20 73 74 | 6f 63 6b 5f 70 72 69 63 |short st|ock_pric|
|00006030| 65 2c 0a 20 20 20 69 6e | 20 4e 6f 74 69 66 69 65 |e,. in| Notifie|
|00006040| 72 73 3a 3a 53 69 6d 70 | 6c 65 4e 6f 74 69 66 69 |rs::Simp|leNotifi|
|00006050| 65 72 20 6e 6f 74 69 66 | 69 65 72 5f 6f 62 6a 29 |er notif|ier_obj)|
|00006060| 3b 0a 7d 0a 26 6e 62 73 | 70 3b 0a 2f 2f 20 4a 61 |;.}.&nbs|p;.// Ja|
|00006070| 76 61 0a 76 6f 69 64 20 | 73 65 74 5f 74 68 72 65 |va.void |set_thre|
|00006080| 73 68 6f 6c 64 28 0a 20 | 20 20 53 74 72 69 6e 67 |shold(. | String|
|00006090| 20 73 74 6f 63 6b 5f 73 | 79 6d 62 6f 6c 2c 20 0a | stock_s|ymbol, .|
|000060a0| 20 20 20 73 68 6f 72 74 | 20 73 74 6f 63 6b 5f 70 | short| stock_p|
|000060b0| 72 69 63 65 2c 20 0a 20 | 20 20 4e 6f 74 69 66 69 |rice, . | Notifi|
|000060c0| 65 72 73 2e 53 69 6d 70 | 6c 65 4e 6f 74 69 66 69 |ers.Simp|leNotifi|
|000060d0| 65 72 20 6e 6f 74 69 66 | 69 65 72 5f 6f 62 6a 29 |er notif|ier_obj)|
|000060e0| 0a 20 20 7b 20 2f 2f 20 | 73 65 74 20 74 68 65 20 |. { // |set the |
|000060f0| 74 68 72 65 73 68 6f 6c | 64 20 2e 2e 2e 20 0a 20 |threshol|d ... . |
|00006100| 20 7d 0a 26 6e 62 73 70 | 3b 3c 2f 50 52 45 3e 0a | }. |;</PRE>.|
|00006110| 0a 3c 50 3e 54 6f 20 63 | 61 6c 6c 20 3c 43 4f 44 |.<P>To c|all <COD|
|00006120| 45 3e 73 65 74 5f 74 68 | 72 65 73 68 6f 6c 64 28 |E>set_th|reshold(|
|00006130| 29 3c 2f 43 4f 44 45 3e | 2c 20 79 6f 75 20 6e 65 |)</CODE>|, you ne|
|00006140| 65 64 20 74 6f 20 63 72 | 65 61 74 65 20 61 0a 3c |ed to cr|eate a.<|
|00006150| 43 4f 44 45 3e 53 69 6d | 70 6c 65 4e 6f 74 69 66 |CODE>Sim|pleNotif|
|00006160| 69 65 72 3c 2f 43 4f 44 | 45 3e 20 43 4f 52 42 41 |ier</COD|E> CORBA|
|00006170| 20 6f 62 6a 65 63 74 2e | 20 41 73 73 75 6d 69 6e | object.| Assumin|
|00006180| 67 20 79 6f 75 27 76 65 | 20 69 6d 70 6f 72 74 65 |g you've| importe|
|00006190| 64 20 61 0a 73 65 72 76 | 61 6e 74 20 63 6c 61 73 |d a.serv|ant clas|
|000061a0| 73 20 63 61 6c 6c 65 64 | 20 3c 43 4f 44 45 3e 53 |s called| <CODE>S|
|000061b0| 69 6d 70 6c 65 4e 6f 74 | 69 66 69 65 72 49 6d 70 |impleNot|ifierImp|
|000061c0| 6c 3c 2f 43 4f 44 45 3e | 2c 20 68 65 72 65 27 73 |l</CODE>|, here's|
|000061d0| 20 68 6f 77 20 74 6f 0a | 64 6f 20 69 74 3a 3c 2f | how to.|do it:</|
|000061e0| 50 3e 0a 0a 3c 50 52 45 | 3e 53 69 6d 70 6c 65 4e |P>..<PRE|>SimpleN|
|000061f0| 6f 74 69 66 69 65 72 20 | 53 55 4e 57 6e 6f 74 69 |otifier |SUNWnoti|
|00006200| 66 69 65 72 20 3d 20 6e | 65 77 20 53 69 6d 70 6c |fier = n|ew Simpl|
|00006210| 65 4e 6f 74 69 66 69 65 | 72 49 6d 70 6c 28 29 3b |eNotifie|rImpl();|
|00006220| 20 0a 69 6e 74 20 73 74 | 6f 63 6b 50 72 69 63 65 | .int st|ockPrice|
|00006230| 20 3d 20 31 35 30 3b 0a | 6f 72 62 2e 63 6f 6e 6e | = 150;.|orb.conn|
|00006240| 65 63 74 28 29 3b 0a 53 | 74 6f 63 6b 57 61 74 63 |ect();.S|tockWatc|
|00006250| 68 65 72 20 61 53 74 6f | 63 6b 57 61 74 63 68 65 |her aSto|ckWatche|
|00006260| 72 20 3d 20 2f 2f 20 63 | 6f 64 65 20 74 6f 20 67 |r = // c|ode to g|
|00006270| 65 74 20 61 20 73 74 6f | 63 6b 2d 77 61 74 63 68 |et a sto|ck-watch|
|00006280| 65 72 20 72 65 66 65 72 | 65 6e 63 65 3b 20 0a 26 |er refer|ence; .&|
|00006290| 6e 62 73 70 3b 0a 61 53 | 74 6f 63 6b 57 61 74 63 |nbsp;.aS|tockWatc|
|000062a0| 68 65 72 2e 73 65 74 5f | 74 68 72 65 73 68 6f 6c |her.set_|threshol|
|000062b0| 64 20 28 22 53 55 4e 57 | 22 2c 20 73 74 6f 63 6b |d ("SUNW|", stock|
|000062c0| 50 72 69 63 65 2c 20 53 | 55 4e 57 6e 6f 74 69 66 |Price, S|UNWnotif|
|000062d0| 69 65 72 29 3b 0a 26 6e | 62 73 70 3b 3c 2f 50 52 |ier);.&n|bsp;</PR|
|000062e0| 45 3e 0a 0a 3c 48 32 3e | 26 6e 62 73 70 3b 3c 2f |E>..<H2>| </|
|000062f0| 48 32 3e 0a 0a 3c 50 3e | 0a 3c 48 52 3e 0a 3c 41 |H2>..<P>|.<HR>.<A|
|00006300| 20 48 52 45 46 3d 22 69 | 6e 64 65 78 2e 68 74 6d | HREF="i|ndex.htm|
|00006310| 6c 22 3e 4f 76 65 72 76 | 69 65 77 3c 2f 41 3e 20 |l">Overv|iew</A> |
|00006320| 7c 0a 3c 41 20 48 52 45 | 46 3d 22 4a 61 76 61 49 ||.<A HRE|F="JavaI|
|00006330| 44 4c 73 70 65 63 69 66 | 69 63 61 74 69 6f 6e 2e |DLspecif|ication.|
|00006340| 68 74 6d 6c 22 3e 47 75 | 69 64 65 3c 2f 41 3e 20 |html">Gu|ide</A> |
|00006350| 7c 0a 3c 41 20 48 52 45 | 46 3d 22 61 70 69 64 6f ||.<A HRE|F="apido|
|00006360| 63 73 2f 70 61 63 6b 61 | 67 65 73 2e 68 74 6d 6c |cs/packa|ges.html|
|00006370| 22 3e 41 50 49 3c 2f 41 | 3e 20 7c 0a 3c 41 20 48 |">API</A|> |.<A H|
|00006380| 52 45 46 3d 22 4a 61 76 | 61 49 44 4c 63 6f 6d 70 |REF="Jav|aIDLcomp|
|00006390| 69 6c 65 72 2e 68 74 6d | 6c 22 3e 69 64 6c 74 6f |iler.htm|l">idlto|
|000063a0| 6a 61 76 61 3c 2f 41 3e | 20 7c 0a 3c 41 20 48 52 |java</A>| |.<A HR|
|000063b0| 45 46 3d 22 69 64 6c 2d | 6a 61 76 61 2e 68 74 6d |EF="idl-|java.htm|
|000063c0| 6c 22 3e 4d 61 70 70 69 | 6e 67 3c 2f 41 3e 20 7c |l">Mappi|ng</A> ||
|000063d0| 0a 3c 41 20 48 52 45 46 | 3d 22 4a 61 76 61 49 44 |.<A HREF|="JavaID|
|000063e0| 4c 72 65 6c 65 61 73 65 | 6e 6f 74 65 73 2e 68 74 |Lrelease|notes.ht|
|000063f0| 6d 6c 22 3e 52 65 6c 65 | 61 73 65 20 4e 6f 74 65 |ml">Rele|ase Note|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.